Книга
Книга
ЧАСТЬ I. МАТЕМАТИЧЕСКАЯ ЛОГИКА1
Глава 1. Алгебра логики (алгебра высказываний)3
Введение3
Операции над высказываниями5
Формулы алгебры логики9
Равносильные группы формули равносильные преобразования11
Практическое занятие № 1. Алгебра высказываний16
Алгебра Буля20
Функции алгебры логики23
Разложение булевых функций по переменным25
Дизъюнктивная и конъюнктивная нормальные формы28
Закон двойственности32
Практическое занятие № 2. Функции алгебры логики. Закон двойственности34
Минимизация булевых функцийвклассеДНФ37
Карты Карно37
Проблема разрешимости42
Полиномы Жегалкина45
Полнота и замкнутость функцийалгебрылогики48
Производные от булевых функций53
^-значные логики59
Практическое занятие № 3. Минимизация в классе дизъюнктивных нормальных форм. Замкнутые классы и полнота систем функций алгебры логики, ^-значные логики68
Схемы из функциональных элементов. Релейно-контактные схемы, оценка сложности схем71
Решение логических задач83
Практическое занятие № 4. Реализация булевых функций схемами и формулами. Решение логических задач87
Глава 2. Исчисление высказываний93
Язык, система аксиом и правила вывода исчисления высказываний93
Некоторые дополнительные производные правила вывода98
Теорема дедукции и другие законы исчисления высказываний106
Теорема дедукции106
Обобщение теоремы дедукции108
Закон перестановки посылок108
Закон соединения посылок 109
Закон разъединения посылок НО
Практическое занятие № 5. Исчисление высказываний: правила вывода и доказуемость формул117
Монотонность и эквивалентность формул исчисления высказываний120
Связь между формулами алгебры высказываний и исчисления высказываний122
Некоторые алгоритмы проверки выводимости формул в исчислении высказываний128
Алгоритм Квай на 129
Алгоритм метода редукций131
Метод резолюций131
Проблемы аксиоматического исчисления высказываний134
Практическое занятие № 6. Эквивалентность формул исчисления высказываний и теорема о выводимости. Алгоритмы Квайна, редукций и резолюций137
Глава 3. Логика предикатов141
Определение предикатов и логические операции над ними141
Кванторные операции146
Формулы логики предикатов 149
Практическое занятие № 7. Логические и кванторные операции над предикатами153
Равносильные формулы логики предикатов156
Предваренная нормальная форма. Общезначимость и выполнимость формул логики предикатов159
Случай конечных областей163
Проблема разрешимости для формул, содержащих в предваренной нормальной форме кванторы одного типа164
Практическое занятие № 8. Выполнимость формул логики предикатов166
Применение языка логики предикатов для записи математических предложений168
Запись математических определений168
формулировка математических теоремпо
Построение противоположных утверждений и доказательство методом от противного171
формулировка обратных и противоположных теорем173
формулировка необходимых и достаточных условий175
Практическое занятие № 9. Применение языка логики предикатов
в математике176
Глава 4. Исчисление предикатов181
Синтаксис языка исчисления предикатов18]
Аксиомы и основные правила вывода183
Производные правила вывода в исчислении предикатов187
Некоторые теоремы исчисления предикатов188
Эквивалентные формулы193
Дедуктивная эквивалентность196
Получение V -формул. Скулемовские функции197
Унификация формул исчисления предикатов200
Метод резолюций в исчислении предикатов204
Практическое занятие № 10. Унификация формул.
Метод резолюций в исчислении предикатов210
Некоторые проблемы аксиоматического исчисления предикатов212
Разрешимость212
Непротиворечивость и независимость212
Полнота в узком смысле213
Полнота в широком смысле214
Глава 5. Теория алгоритмов215
Характерные черты алгоритма215
Вычислимые, частично рекурсивные и общерекурсивные функции218
Примитивная рекурсия219
Операция минимизации229
Примитивная рекурсивность некоторых арифметических функций232
Практическое занятие №11. Рекурсивность функций236
Словарные множества и функции239
Машины Тьюринга244
Неразрешимые алгоритмические проблемы257
Практическое занятие № 12. Словарные функции. Построение программ для машин Тьюринга259
ЧАСТЬ II. ОТВЕТЫ, РЕШЕНИЯ, УКАЗАНИЯ261
Глава 6. Алгебра высказываний♦263
Ответы и решения задач263
практического занятия Ns 1263
Ответы и решения практического занятия №2273
Ответы и решения практического занятия №3284
Ответы и решения практического занятия №4307
Глава 7. Исчисление высказываний319
Ответы и решения практическогозанятия№5319
Ответы и решения практическогозанятия№6329
Глава 8. Логика предикатов 345
Ответы и решения практическогозанятия№7345
Ответы и решения практическогозанятия№8351
Ответы и решения практическогозанятия№9357
Глава 9. Исчисление иредикатов367
Ответы и решения практического занятия № 10367
Глава 10. Теория алгоритмов383
Ответы и решения практического занятия № 11383
Ответы и решения практического занятия № 12395
Синеок литературы405
Предметный указатель406
Часть I
Математическая логика
Глава 1. Алгебра логики (алгебра высказываний)
Глава 2. Исчисление высказываний
Глава 3. Логика предикатов
Глава 4. Исчисление предикатов
Глава 5. Теория алгоритмов
Глава 1
Алгебра логики (алгебра высказываний)
Введение
Формальная логика существует уже более двух тысячелетий. Зачатки логики явно прослеживаются в работах Аристотеля . Идеи о построении логики на математической основе, т. е. по сути математической логики, были высказаны Лейбницем в начале 18-го века.
Впервые идеи Лейбница реализовал Д. Буль в 40-х гг. девятнадцатого столетия. Он создал алгебру, в которой буквами обозначены высказывания, и это привело к появлению алгебры высказываний. Применение математики к логике позволило представить логические теории в новой удобной форме и применить вычислительный аппарат к решению задач, малодоступных человеческому мышлению из-за особенностей человеческой психики.
Современная математическая логика определяется как раздел математики, посвященный изучению математических доказательств и вопросов основания математики. Одна из главных причин широкого распространения математической логики— применение аксиоматического метода в построении различных математических теорий. В нем сначала выбираются некоторые понятия, которые не определяются, а лишь поясняются. Затем без доказательства принимается некоторый набор аксиом, а уже потом из этих аксиом логически строго выводятся и доказываются все оставшиеся положения теории. Самым ранним примером аксиоматической теории являются "Начала" Евклида ***. Однако система аксиом, положенная Евклидом в основу теории, не является единственной и содержит небесспорный пятый постулат (аксиому о параллель-
ных прямых). Это не означает, что построенная затем теория (классическая геометрия) была неверной, но указывает на возможность построения иных геометрий (геометрии Лобачевского , например).
Отличительная черта математической логики — использование доказательств, а не наблюдений. Однако ясно, что невозможно доказать все математические законы, т. к. самые первые из них не могут быть доказаны: нет более ранних законов, из которых они могут быть выведены. Поэтому необходимо выбрать некоторые начальные законы, называемые аксиомами, которые принимаются без доказательств, остальные законы — теоремы — могут быть доказаны исходя из аксиом.
К системе аксиом предъявляется одно непременное требование — она должна быть непротиворечивой. Это значит, что из данной системы аксиом (непротиворечивой) нельзя логическим путем вывести два противоречащих друг другу утверждения. Основным методом доказательства непротиворечивости является метод моделирования, или метод интерпретаций, который строится для математических теорий на базе теории множеств.
С математическими понятиями происходит процесс сведения сложных понятий к простым. Многие из них можно определить в терминах других понятий. Но опять же самые первые понятия не могут быть определены, т. к. нет более ранних понятий, в терминах которых их можно было бы определить. Поэтому нужно выбрать некоторые понятия, называемые основными, которые будут лишь поясняться, оставаясь формально неопределенными. Остальные понятия, называемые производными, определяются в терминах основных.
Совокупность основных и производных понятий, аксиом и теорем называется аксиоматической системой. Все составляющие аксиоматической системы могут рассматриваться с двух точек зрения: в виде объекта, имеющего собственную внутреннюю структуру, или в виде предложения, выражающего определенный факт. Изучение внутренней структуры аксиом и теорем называется синтаксическим изучением аксиоматических систем, изучение их смысла — семантическим изучением.
Современная теория множеств— база математической логики— не содержит "парадоксов" (типа парадокса Рассела о "нормальном" множестве), однако средства этой аксиоматической теории не позволяют доказать ее непротиворечивость.
Операции над высказываниями
Учение о высказываниях — алгебра высказываний, или алгебра логики, — является простейшей логической теорией. Она рассматривает конечные конфигурации символов и взаимоотношения между ними. Знакомство с законами алгебры высказываний облегчает изучение более сложных логических исчислений.
Высказывание — это всякое повествовательное предложение, утверждающее что-либо о чем-либо, при этом непременно истинное или ложное. Логическими значениями высказываний являются "истина” и "ложь", обозначаемые I и 0. Высказывание— это те первичные понятия теории, которые не определяются строго, а лишь поясняются.
Высказывания, представляющие собой одно утверждение, называются простыми или элементарными', высказывания, получающиеся из элементарных с помощью грамматических связок "не", "и", "или", "если..., то...", называются сложными. Эти названия не носят абсолютного характера, высказывания, которые в одной ситуации можно считать простыми, в другой ситуации будут сложными. В алгебре высказываний исследуется вопрос об истинности сложного высказывания в зависимости от истинности входящих в него простых высказываний. При этом необходимо иметь в виду, что высказывание может быть истинно в определенной ситуации. Эта ситуация бывает определена или не определена в самом высказывании. Существуют высказывания истинные (или ложные) во всех возможных ситуациях. Такие высказывания называются абсолютно истинными (соответственно абсолютно ложными). Абсолютно истинные и абсолютно ложные высказывания называются логическими константами. В алгебре логики все высказывания рассматриваются только с точки зрения их логического значения, житейское содержание игнорируется. Каждое высказывание может быть либо истинным, либо ложным, ни одно высказывание не может быть одновременно истинным и ложным. Элементарные высказывания обозначаются строчными буквами латинского алфавита: а, Ь, с. Из высказываний с помощью логических связок образуются новые высказывания. Рассмотрим теперь несколько логических связок.
Отрицанием высказывания х называется новое высказывание, которое является истинным, если высказывание х ложно, и ложным, если х истинно. Обозначается х, читается "не х" или "неверно, что х". Все логические значения высказывания х можно описать с помощью табл. 1.2.1. Если х — высказывание, то х — противоположное высказывание. Тогда можно образовать х, которое называется двойным отрицанием высказывания. Логические
значения б, очевидно, совпадают со значениями х. Эта операция одноместная в том смысле, что из одного данного простого высказывания х строится новое высказывание х.
X
X
1
0
0
1
Таблица 1.2.1Таблица 1.2.1Конъюнкцией (логическом умножением) двух высказываний х и у называется новое высказывание z, которое истинно только тогда, когда оба высказывания х и у истинны, и ложно, когда хотя бы одно из х и у ложно. Обозначается х&у или хлу, читается "х и у". Таблица истинности конъюнкции дана в табл. 1.2.2.
Таблица 1.2.1
Таблица 1.2.1
Таблица 1.2.2
X
У
хлу
1
1
1
1
0
0
0
1
0
0
0
0
Из определения операции конъюнкции видно, что союз "и" в алгебре логики употребляется в том же смысле, что и в повседневной речи. Однако в алгебре логики этой связкой можно связывать любые, сколь угодно далекие по смыслу высказывания.
Конъюнкцию часто называют логическим умножением. В современной математике слово "умножение" часто обозначает различные математические операции, обладающие свойствами, более или менее похожими на свойства арифметического умножения. При построении таблицы истинности использовался союз "и". Однако результат был бы тот же самый, если бы были взяты союзы "а", "но”, "однако", "хотя" и т. п. Таким образом, хотя соответствующие этим союзам логические связки имеют различные смысловые оттенки, с точки зрения алгебры высказываний они неразличимы.
Дизъюнкцией (логическим сложением) двух высказываний х и у называется новое высказывание, которое считается истинным, если хотя бы одно из высказываний х и у истинно, и ложным, если они оба ложны. Обозначается х v у, читается "х или у ". Логические значения дизъюнкции описываются в табл. 1.2.3.
XУXV у111101011000XУXV у111101011000Таблица 1.2.3Таблица 1.2.3XУх—> у111100011001XУх—> у111100011001Таблица 1.2.4Таблица 1.2.4
X
У
XV у
1
1
1
1
0
1
0
1
1
0
0
0
X
У
XV у
1
1
1
1
0
1
0
1
1
0
0
0
Таблица 1.2.3
Таблица 1.2.3
X
У
х—> у
1
1
1
1
0
0
0
1
1
0
0
1
X
У
х—> у
1
1
1
1
0
0
0
1
1
0
0
1
Таблица 1.2.4
Таблица 1.2.4
В повседневной речи союз "или" употребляется в различном смысле: исключающем и иеисключающем. В алгебре же логики связка "или" употребляется всегда в иеисключающем смысле (объединяющем смысле). Аналогично в латинском языке имеется союз "vel" для включительной дизъюнкции и "aut" для разделительной. Символ v происходит от первой буквы союза "vel".
Импликацией (логических! следованием) двух высказываний ,г и у называется новое высказывание, которое считается ложным, когда .х истинно, а у ложно, и истинным во всех остальных случаях. Обозначается .х -А у, читается "если ,х, то у" или "из х следует у". Высказывание х называетсяус- ловием, посылкой или амтецедентоли высказывание у — следствием, заключением или консеквентом. Таблица истинности этой операции приведена в табл. 1.2.4. Из таблицы истинности видно, что если условие х истинно и истинна импликация х —^ у , то верно и заключение у . Это классическое правило вывода, которое постоянно используется в математике при переходе от одних высказываний к другим с помощью доказываемых теорем, которые, как правило, имеют форму импликаций. Распространенная ошибка в математических рассуждениях состоит в том, что к высказыванию л, истинность которого не установлена, применяется правильная теорема х —» у и из истинности предложения у делается вывод об истинности х.
В обыденной речи высказывание типа "если х, то у” носит объясняющий характер. Оно как бы разъясняет, почему имеет место событие у — потому, что имело место событие х. Объясняющий характер импликации тесно связан с причинно-следственным отношением, при котором х выступает в роли причины, а у —следствия.
Употребление союзов "если..., то..." в алгебре логики отличается от употребления их в обыденной речи, где по обыкновению считают, что если х ложно, то у вообще не имеет смысла. Кроме того, в обыденной речи подразумевается, что из предложения х всегда вытекает у . В математической
8
логике последнего не требуется, т. к. смысл высказываний игнорируется, кроме их свойств быть истинными или ложными, В случае импликации несоответствие между обычным пониманием истинности сложного высказывания и идеализированной точкой зрения алгебры высказываний еще заметнее, чем для других логических операций. Здесь истинность импликации в некоторой ситуации означает лишь, что если в этой ситуации истинна посылка, то истинно и заключение.
Эквиваленцией ^эквивалентностью, логической эквивалентностью) двух высказываний х и у называется новое высказывание, которое истинно, когда оба высказывания х и у либо одновременно истинны, либо одновременно ложиы, и ложно во всех остальных случаях. Обозначается хн у, читается "для того чтобы х, необходимо и достаточно, чтобы у" или ”х тогда и только тогда, когда у”. Эквивалентность играет значительную роль в математических доказательствах. Известно, что большое число теорем формулируется в форме необходимых и достаточных условий. Это теоремы существования. Например, "для того, чтобы два вектора а и b были линейно зависимы, необходимо и достаточно, чтобы они были коллинеарны". Логические значения операции эквиваленции описываются в табл. 1.2.5.
Символы , а, V,—>, <-> называются пропозициональными связками или связками исчисления высказываний. Вместо употребляемого нами зиака <-» часто пишут ~ или =, вместо —> пишут э, вместо & или а часто употребляют точку, причем точку иногда опускают, вместо употребляют знак —। перед высказыванием.
Логическим связкам приписываются ранги в следующем порядке убывания старшинства: , а, V,—»,«-». Таким образом, связка более высокого ранга имеет большую область действия.
Не следует думать, что этим набором исчерпываются все логические связки. Например, существует такая операция, как штрих Шеффера*. Она обозначается символом х | у и определяется следующей таблицей истинности (табл. 1.2.6).
Как мы покажем в дальнейшем, всякую формулу алгебры логики путем эквивалентных преобразований можно заменить формулой, содержащей только две логические операции: конъюнкцию и отрицание или дизъюнкцию и отрицание. Дальнейшее исключение логических операций невозможно. Операция же штрих Шеффера характерна тем. что с ее помощью может быть выражена любая из пяти операций. Например, х = х | х. Таблица истинности для этой формулы приведена в табл. 1.2.7.
Для операции конъюнкции, например, выражение через штрих Шеффера имеет вид х л у = (х | у)[(х | у). Его таблица истинности дана в табл. 1.2.8.
Таблица 1.2.7
X
X
х |х
Д'
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
Таблица 1.2.8
X
У
(.Г 1 у)
и 1 7)
(X I у)|(х I 7)
хлу
1
1
0
0
1
1
1
0
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
Формулы алгебры логики
С помощью логических операций над высказываниями можно строить различные новые, более сложные высказывания. Обычно при этом порядок операций указывается скобками. Определим понятие формулы логики высказы-
' Генри Мориц Шеффер (1882-1964) — английский математик и логик.
ваний. Первой частью любой формальной системы является ее язык. Чтобы определить язык, нужно прежде всего определить алфавит и его символы.
Алфавитом будем называть любое непустое множество. Элементы этого множества называются символами данного алфавита. Любая конечная последовательность символов алфавита называется словом, или выражением, данного языка. Алфавит логики высказываний содержит такие символы: высказывания— буквы латинского алфавита с индексом или без него, логические связки л, v, —о, , разделители (, ).
Слово в алфавите логики высказываний называется формулой, если оно удовлетворяет следующим условиям:
Любое высказывание (высказывательное переменное) — формула.
Если А и В формулы, то А, А а В, A v В, А —> В, А «-> В — тоже формулы.
Подформулой формулы А называется любое подслово А, само являющееся формулой. Таким образом, из приведенного формального определения формулы как определенной конструкции языка алгебры логики можно определить более простое понятие формулы.
Всякое сложное высказывание, которое может быть получено из элементарных высказываний с помощью логических связок, называется формулой алгебры логики.
Формулы алгебры логики обозначаются большими буквами латинского алфавита А, В, С,... При этом скобки можно опускать, придерживаясь следующих правил: конъюнкция выполняется прежде всего, дизъюнкция выполняется второй, импликация и эквиваленция равноправны и выполняются последними. Каждая формула алгебры логики принимает свое логическое значение, которое определяется логическими значениями входящих в нее элементарных высказываний. Например, составим таблицу истинности для формулы (х —> у)—»(х л у v х уУ Получим табл. 1.3.1.
Таблица 1.3.1
X
У
X
У
хлу
XAyvX
хаyvx-> у
xvy
Итог
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
0
1
1
0
1
1
0
1
Если формула состоит из п элементов, то ее таблица истинности состоит из 2" строк.
Приписывание значений истинности или ложности высказываниям, входящим в формулу, называется интерпретацией этих высказываний. Под интерпретацией формулы понимается приписывание значений истинности высказываниям, входящим в эту формулу.
4. Равносильные группы формул и равносильные преобразования
Две формулы алгебры логики А и В называются равносильными, если они принимают одинаковые логические значения при любом наборе значений входящих в формулы элементарных высказываний. Равносильность обозна
чается знаком г. Очевидно, например, Л' = л-, т v х = х и т. д.
Между понятием равносильности и знаком эквивалентности <-» существует следующая связь: если формулы А и В равносильны, то формула А «-> В принимает значение I при всех значениях переменных, и обратно: если формула А <-> В принимает значение 1 при всех значениях входящих в нее высказываний, то формулы А и В равносильны, т. е. А= В. При этом следует помнить, что знак «-> является символом формального языка, с помощью которого строятся формулы, а символ = заменяет слово "равносильно".
Для любых формул А, В, С справедливы следующие равносильности.
Основные равносильности:
А л А г А — закон идемпотентности конъюнкции.
Av А = А — закон идемпотентности дизъюнкции.
АлЛ = А, 1 —истина.
Лу1 = 1.
ДлО^О. О —ложь.
AvO^A.
АлА = 0—закон противоречия.(1-4.1)
Av А = \ —закон исключенного третьего.
А = А — закон снятия двойного отрицания.
Aa(Bv А) = А —первый закон поглощения.
Av (В а А)= А — второй закон поглощения.
А = (A a S)v (а ай)— первая формула расщепления.
А = (AvB)a(av5)— вторая формула расщепления.
Все эти соотношения легко проверяются по таблицам истинности.
Равносильности, выражающие одни логические операции через другие.
A<^Bs(A-^b)a(B->A)s(AaB)v(aab)s(avb)a(bva) — ос- новная формула доказательств теорем существования.
А^Вн Av В = (АаВ).
AvB = A-^B=AaB.
AaBs^A^B)hAvB.(1.4.2)
А а В = A v В — первый закон де Моргана.
A v В = А а В — второй закон де Моргана.
AaB=AvB.
AvB^AaB.
Именно из равносильностей этой группы формул следует, что всякую формулу алгебры логики можно заменить равносильной ей формулой, содержащей только две логические операции: конъюнкцию и отрицание или дизъюнкцию и отрицание.
Равносильности, выражающие основные законы алгебры логики.
АаВ = ВаА —коммутативный закон конъюнкции.
Av В г Bv А —коммутативный закон дизъюнкции.
А а (влС)=(АлВ)лС —ассоциативность конъюнкции. (1.4.3)
Av(BvC)=(AvB)vC — ассоциативность дизъюнкции.
А л (В v С) ® (А л B)v (АлС) — дистрибутивность конъюнкции относительно дизъюнкции.
A v (влС)= (A v В)а(A v С) — дистрибутивность дизъюнкции относительно конъюнкции.
Любая из равносильностей легко может быть доказана с помощью таблиц истинности. Часто равносильность произвольной формулы логики высказываний экономнее доказывать без составления таблицы, с помощью логического рассуждения и упрощения формулы с использованием приведенных равносильностей. При этом обычно операции эквивалентности и импликации заменяют операциями конъюнкции и дизъюнкции, а отрицание относят к элементарным высказываниям.
Можно еще упростить запись формул, опуская некоторые скобки и используя старшинство логических связок. Кроме того, знак отрицания, стоящий над формулой, делает излишними скобки, в которые она заключена.
Отношение равносильности есть отношение эквивалентности. Оно рефлексивно, т. к. для любой формулы А: А = А; симметрично, т. к. для любых формул А и В: если А = В, то В = А; транзитивно, т. к. для любых формул А, В, С ; если А = В и В = С, то А = С.
Рассмотрим несколько примеров.
-(х->у)л(у->г)-^(г-^х)=^Уу)л^Уг)-У^Ух) =
2.2.
2.
2.
(х л О -» 0 -> z)v X V (у л z)v (у л z) = (х л О -» 0 -> z)v х V (у л z)= = (х л 0 -> z)v X v (у л z)= О v Z V X V (у л z) =
Si VXv(yAz) = l v(yxz) = l.
3. Доказать равносильность (х v у) л (х v у) = х.
(XV у) л (xvy) = X Л X V у Л X V Хлууулу =
= X V у Л X V XAy = XA(lvyVy)=X(lvl)=X.
Приведем теперь несколько правил, с помощью которых можно переходить от одних равносильностей к другим.
Теорема 1.1. Пусть А — В н С — произвольная формула. Тогда А = В, АлС=ВлС, СлА = СлВ, AvC = BvC, CvA = CvB, а^с = в^с,с^а^с^в,а^с=в^с,с^а^с^в.
Докажем, например, формулу A v С = В v С. Так как А = В, то при одинаковом наборе входящих в них простых высказываний А и В принимают одинаковые логические значения. Пусть, например, это будет 1. Пусть при том же наборе значение С равно 0. Тогда обе части рассматриваемой равносильности принимают одно и то же значение 1 v 0 = 1 v 0 .
Теорема 1.2. Пусть А= В и С— формула, в которой выделено одно вхождение переменной х.. Пусть С(д) получается из С заменой этого вхождения X; на А, а С^В^)— из С заменой того же вхождения х, на В. Тогда С(л) = Цв).
Оставим данную теорему без доказательства, отметим только, что любой символ алфавита может несколько раз появиться в данной формуле. Каждое такое появление называется вхождением этого символа в формулу.
Теорема 1.3. Пусть С(Д)— формула, содержащая А в качестве своей подформулы. Пусть C(S) получается нз С(Д) заменой А в этом вхождении на В. Тогда, если А = В, iго С(Л)^С(в).
Формула А называется тавтологией (тождественно истинной), если она принимает значение 1 при всех значениях входящих в нее переменных. Формула А называется тождественно ложной или противоречивой, если она равна 0 при всех значениях входящих в нее переменных.
Формула А называется выполнимой, если при каком-то наборе входящих в нее переменных она принимает значение 1.
Формула А называется опровержимой, если при каком-то наборе входящих в нее переменных она принимает значение 0.
С точки зрения логики тавтологии это логические законы, т. к. они принимают истинные значения при любом наборе переменных. В практических вычислениях часто используют следующие тавтологии (А, В, С — произвольные формулы).
A v А — tertLum nondatur — закон исключенного третьего.
А^А.
А-^В-»А\
(Л^д)-»((В^С)-»(Л^С)) — цепное рассуждение.
(А^В^С^-Ц^В^А-^.(1.4.4)
(АлВ'НА, (АлВ)-+В.
А^(В-^АлВ\
A^(AvB\ B—>(AvB\
^А^^чА^вУ
(^А-^В^А^А — закон Пирса*.
Эти формулы тоже можно легко проверить по таблицам при произвольных значениях А, В, С. При доказательстве утверждений различных математических теорий обычно используют рассуждения, которые на языке логики можно выразить формулами. При этом рассуждение называется правильным, если из конъюнкции посылок следует заключение, т. е. всякий раз, когда все посылки истинны, заключение тоже истинно. Правило вывода заключения в этом случае можно записать в виде 1 ’ ‘^- , где Рх, Р2 ,...,Pfl — посыл
ки, причем запись Px,Pv..,,Pn понимается как Рх а Р7, а ... л Р,,, Р— заключение.
пВ,А А^В,В
Распространенные схемы правильных рассуждений: — , ——= .
Легко проверить, что формулы ((-4 —> S)a j) —э В и ((Л —> S)a В^ —> А являются тождественно истинными. Например, логические значения последней при всех наборах аргументов приведены в табл. 1.4.1.
Таблица 1.4.1
А
в
А
в
А -> В
(А-^ В)л В
((/!-> ВрВ^ А
I
1
0
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
Чарлз Пирс (1839-1914) — американский математик и логик.
Один из способов доказательства математических предложений — метод доказательства от противного. Предположим, что некоторое утверждение в форме импликации А^ В ложно. Тогда необходимо прийти к противоречию, т. е. доказать, что другое утверждение С одновременно выполняется и не выполняется.
Доказательство выполняется по следующей схеме:
8= (Ай)—> (с a c)s (aa s)^ (Са с).(1.4.5)
Приведем в заключение еще две более простые схемы доказательства от противного:
(1.4.6)(1.4.6)А -> В = (а а В -> А),А^В = (АлВ^ в).
(1.4.6)
(1.4.6)
Практическое занятие № 1.
Алгебра высказываний
Среди следующих предложений выделить те, которые являются высказываниями, и установить, если это возможно, истинны они или ложны.
Для произвольных множеств А и В верно включение Л с АоВ.
Сумма углов в треугольнике равна 180°.
Vie N.
Солнечная система насчитывает девять больших планет.
На улице светит солнце.
Летайте самолетами Аэрофлота!
Всякое подмножество конечного множества конечно.
Даны два высказывания:
р = \_ число 3 является делителем числа 174 }, q = { идет дождь }.
В чем заключаются высказывания
Р, P^Q, PAq, p^q, P^q, pt^q?
р = { конъюнкция коммутативна }, q = { если число простое, то оно нечетное }.
В чем заключаются высказывания q, q—^p, ^pAq^-^p, (gv p}~~^ Ч^ Какие из этих высказываний истинны, а какие ложны?
Какие из следующих утверждений являются высказываниями и какие из высказываний истинны и какие ложны?
Сумма корней приведенного квадратного уравнения равна свободному члену.
Сумма корней любого приведенного квадратного уравнения равна свободному члену.
Существует приведенное квадратное уравнение, сумма корней которого равна свободному члену.
В каких случаях приведенные ниже данные противоречивы?
a = 1, a л b = 1;
а = О, а а 6 = 1;
a = 1, a v b = 0;
a = 0, a v b = 1.
Определить, является ли данная последовательность формулой:
О (А л А )а А ’
2)((4^4)л4);
(44 )-» 4 v4 ;
4 л J2 44;
(4^4М4^4л4).
Выписать все подформулы следующих формул: d((4^4)a(4 ^4))-^4v4;
(4 ^4)^ (4 ^4);
4 л(4 v4a(BvC)).
Проверить, не составляя таблиц истинности, являются ли следующие формулы тождественно истинными:
р;
р^ рл^^рлр^
(pv р^р.
Известно, что х—> у имеет значение 1. Что можно сказать о значениях z^(x^y\ х-^у-^у, (х-> y^zl
Составить таблицы истинности для формул: d(4^4)a(4v4);
(4 (4 4)М(4 4Н(4 -^4));
(р^дН^е);
(Pa^-^^vP;
(PA(evp))A^->p)ve;
P^QaP^ PvR;
(pA(evp))A((e-4p)ve);
(.P^Q^v^P^^QaP^.
Доказать выполнимость формул:
P-^P;
(6-4 Pa RVPv R^Q ;
Vp^Q^^-^pY
Какие из высказываний P,Q,R должны быть истинны, а какие ложны, чтобы формула ^Pv Р д й)—> R была истинной?
Доказать тождественную истинность формул:
P^(Q^PaQ>,
(p^Q^^P-^Q^p);
(Р^ R)-^ ((Q^R)^ (PvQ^R));
<Q^R^^Px/Q^PvR>,
5)(g^p)^(^^p)^g);
р-Цр^оу,
(P^Q^(kQ-^RWP^R)\
При каких значениях переменных P,Q,R следующие формулы ложны?
Y^P-^Q^RV^-^IHQ'-
2)((Mv«)->(Ma(M);
(Pv2)-^((7a2)v (PaQ)).
Доказать, что:
Если формулы Pv Q и Pv R тождественно истинны, то формула Qv R тождественно истинна.
Если формулы Pv Q и Rv Q тождественно истинны, то формула Д—> R тождественно истинна.
Если формулы PvQ. P^R, Q —> W тождественно истинны, то формула Rv W тождественно истинна.
Сколько имеется различных (т. е. отличающихся истинностными таблицами) двуместных логических операций?
Выразить все основные операции через конъюнкцию и отрицание, через дизъюнкцию и отрицание.
Пусть имеется некоторая логическая операция Ф над простыми высказываниями А^Л^...., Дт. Операция Ф с точностью до равносильности характеризуется истинностной таблицей. Например, возьмем (табл. 1.5.J) некоторую конкретную операцию над тремя простыми высказываниями:
Таблица 1.5.1
А
4
4
ф
4
4
4
ф
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
I
0
0
0
0
0
0
1
Тогда операцию, имеющую данную истинностную таблицу, можно получить, перечисляя ситуации, в которых высказывание © истинно, т. е. (4 л 4 Л 4 )v (4 л 4 л 4)v Ц Л 4 л 4 )v (4 л 4 л 4 )• Обобщить приведенную конструкцию на случай произвольных логических операций®.
Доказать следующие равносильности:
А^В = АлВ;
Aa(AvC)a(BvC)=(AaB)v(AaC);
Ал Ле А;
Av(BaA)s А;
^v(8aC)s(^v B)a(AvC);
(Ал B)v ((Av B)a(Avb))= Av В;
AvBsAaB.
Доказать, что для любой формулы существует эквивалентная ей формула с тесными отрицаниями, т. е. формула, в которой нет символа —> и отрицания относятся только к пропозициональным переменным.
Алгебра Буля
Равносильности (1.4.3) говорят о том, что алгебра логики обладает коммутативным, ассоциативным и дистрибутивным законами точно так же, как алгебра чисел. Это значит, что над формулами алгебры логики можно производить те же преобразования, что и в алгебре чисел (раскрывать скобки, выносить общие множители и т. д.).
Однако здесь есть и дополнительные возможности, основанные, например, ха (у v х) = х]
на формулах (1.4.1) и (1.4.2), типа х v 1 = 1,> — законы по-
X V (у А х) = х]
глощения, законы де Моргана и др. Эти новые возможности позволяют сделать несколько обобщений в виде интерпретаций формул алгебры логики.
Представим непустое множество М элементов любой природы М ={о, б, г,..}, на котором определены две двуместные операции: х, у =^ х • у — умножение и х, у =^ х + у — сложение и одна одноместная
операция х^ X — отрицания и выделены два элемента 0 и 1 G М, причем для этих операций и элементов выполняются следующие аксиомы.
+ о = б + б 1
,> —коммутативный закон.
б ■ б = б • б J
о + (о+ Z.) = (6 + б) + zl
—ассоциативный закон.
z)=W)'Z J
(6+6)-z = (6-z) + (6-z)l
.) — дистрибутивный закон.
(б- б) + z = (о + z)-(o + z)J
5 + б = 5]
> —законы идемпотентности.(1.6.1)
5-5=6)
5+ б= б- о
_—законы де Моргана.
б = 5 + б)
4. х = х — закон двойного отрицания.
б + (б • о) = 51
> —законы поглощения.
(5 + 5) = б)
Тогда такое множество М называется булевом алгеброй. Если под основными операциями "+", "•", " ", "=" понимать дизъюнкцию, конъюнкцию, отрицание и равносильность, то из формул (1.4.1)—(1.4.3) видно, что все аксиомы булевой алгебры выполняются. В таких случаях говорят, что имеется интерпретация (модель) данной системы аксиом. Итак, алгебра логики— интерпретация алгебры Буля.
Можно было бы при определении булевой алгебры исходить из одной двуместной операции, например умножения, доопределив другую при помощи законов де Моргана.
Булевы алгебры являются примерами аксиоматически заданного алгебраического объекта. Эти объекты представляют собой множества, в которых выделены некоторые элементы (например 0 и I) и определены некоторые операции. Эти элементы и операции должны удовлетворять конечному набору аксиом.
Существуют и иные нелогические множества, также образующие алгебру Буля. Например, известная интерпретация— теория множеств, а "+”, "•", " ■— объединение, пересечение и дополнение в теории множеств.
Укажем еще одну систему, удовлетворяющую (1.6.1). Пусть М — ограниченное множество действительных чисел х таких, что 0<х<А, А^О. Положим х = А-х, х+ у = тах(х, у), х-у = min(x, у). Роль нулевого элемента будет играть нижняя грань данного числового множества, т. е. число 0, роль единичного элемента— верхняя грань— число А. Закон противоречия и закон исключенного третьего из (1.4.1) будут иметь вид х • х = 0, х + х = А . Тогда множество М с так определенными операциями и так определенными элементами 0, 1 является булевой алгеброй.
В том случае, когда множество М состоит из двух чисел 0 и 1, эта система представляет собой алгебру высказываний, в которой истина заменяется выделенной единицей, а ложь — нулем.
Пусть М и N — две булевы алгебры. Отображение х=5> х, ставящее каждому ХЕ М в соответствие элемент ХЕ N, называется гомоморфизмом булевой алгебры М в булеву алгебру N, если
1/W =^N'
х=%, (1.6.2)
для всех х, уЕ М. Нижние индексы у 0 и 1 указывают, в какой алгебре они являются выделенными элементами.
Если гомоморфизм л'=> х устанавливает взаимно однозначное соответствие между М и N, то он называется изоморфизмом булевых алгебр М и N, а сами булевы алгебры в этом случае называются изоморфными. Примеров изоморфизма булевых алгебр очень много. Первый пример — алгебра высказываний и алгебра множеств. Другой важный пример изоморфизма относится к самой алгебре высказываний. Аксиомы (1.6.1) булевой алгебры таковы, что если всюду поменять местами 0 и 1, дизъюнкцию и конъюнкцию, то получится та же аксиоматика.
Пусть М — булева алгебра. Построим новую булеву алгебру М*, которая будет состоять из тех же элементов, что и М, но с другими операциями. Элементы х, у,... из Л/", рассматриваемые как элементы М*, будем обозначать х+,^+,...; элементы О, I для М* —через 0+, 1+. Тогда положим
. 0+ = 1+ (0 в М' — это 1 в Му,
1+ = 0+ (1 в М' — это 0 в М);
х v vh = (хл >’)т (дизъюнкция элементов в М*соответствует конъюнкции этих элементов в М);
х л у+ = (vW j) (конъюнкция элементов в М" совпадает с их дизъюнкцией в М).
Булева алгебра М” называется двойственной к М. Очевидно, что (мф = м.
Функции алгебры логики
Формула алгебры логики является функцией входящих в нее элементарных высказываний, ее аргументы принимают два значения: 0 и I. при этом значение формулы может быть равно 0 или I.
Функцией алгебры логики п переменных (или функцией Буля) называется функция п логических переменных, т. е. функцией алгебры логики f{x\ ,х2,...,хп) от п переменных Л' ,х2 ,...,хп называегся функция, принимающая значения 0, 1, аргументы которой также принимают значения О, I.
Функция f(x},х2,...,хц ) задается своей истинностной таблицей (табл. 1.7.1).
Таблица 1.7. /
X
х2
Х,ч
X,
V.)
0
0
0
0
/(О. 0,..., 0, о)
1
0
0
0
Д1,0,.... 0, 0)
1
1
1
1
0
./'(1,1,..., 1,0)
1
1
1
1
1
./(и,.-1,1)
Из этой таблицы видно, что число различных двоичных наборов длины п х^,х2,...ъх,1 конечной равно 2".
Ясно, что тавтологии и тождественно ложные функции алгебры логики представляют собой постоянные функции, а две равносильные формулы выражают
одну и ту же функцию. Каждая функция определяется таблицей истинности, состоящей из 2й строк, т. е. принимает 2Л значений (каждое 0 или 1). Общее число наборов из 0 и 1 длины 2" равно 22 . Это число равно числу различных функций алгебры логики н переменных.
Функция алгебры логики /(х1,...,х|_|,х,-,х1+|хл) зависит существенным образом от аргумента х(, если существуют такие значения al,...a/_1,ai,ai+1,...a/J переменных xv...,xi_x,xi,xi^,...,xn, что /(ар...,а/чДа/+|,...,ап)# /(а1,...,а1_1,1,а1+1„..,ал). В этом случае переменная х. называется существенной, в противном случае — несущественной, или фиктивной. Очевидно, что постоянные функции не имеют существенных переменных.
■ Пример, f^— функция одной переменной. Ее возможные значения приведены в табл. 1.7.2.
Таблица 1.7.2
X
аМ
А(*)
А И
аМ
1
1
1
0
0
0
1
0
1
0
f^ (х) = 1 (постоянная, не зависит от х, х — фиктивная переменная), J^x^ 0 (постоянная, не зависит от х, х — фиктивная переменная), /2(х)=х,/3(х)=х, в /2 и /^ х—существенная переменная.
22
Если п = 2, то 2 =16. Именно столько существует различных функций двух переменных. Перечислим их в таблице истинности (табл. 1.7.3).
Таблица 1.7.3
X
У
д
А
А
а
л
А
л
А
А
Ао
А,
А|2
Аз
Ад
Аз
Л 6
1
1
I
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
1
0
Выразим теперь все эти функции через значения аргументов х и у : Д = 1, /2= XV у, /3 = х, /4 = х л 7 , /5 = х -> 7 . /6 = у -> х, /7 = х v у, /8=Гё^У. А^Л, /|0 = 1ну, /и^у. fn = y, Лз^хлу, /14 - Л ~* У ’ /15 = У ~> Л' • /16=0-
Определим теперь операцию суперпозиции функций. Интуитивный смысл этой операции состоит в том, что в аргументы функции подставляются другие функции, некоторые переменные могут отождествляться. Пусть
G = )- Ф2(х2,['Х2,2’"-’А2Л2 )’■■•> Фш(Хи7,|’Л',н.2’-”'А'»|.А(И )} — конечная система функций алгебры логики. Функция \|/ называется суперпозицией первого ранга, или элементарной суперпозицией x^gG^, если она может быть получена одним из следующих способов:
Из какой-то функции (р, g G переименованием какой-то ее переменной Xjj, например V = ф^Ху,, xj2,..., х)М, y,xJM „...х,^ ) .
Подстановкой некоторой функции ф, G G вместо какого-нибудь аргумента х^ в функции ф; 6 G, т. е.
V = <P>(^j,x;.2,...,Xy;_l,<p/(x,l,x/i2,...,xztz)x/V+l,...,x/iJ.
Суперпозиции г 4-1-го ранга являются элементарными суперпозициями функций из суперпозиции г-го ранга, т. е. G^"’ = (с^У\
Каждой формуле алгебры логики соответствует своя функция. Если формулы А и В эквивалентны, то соответствующие им функции равны: fАкхх'Х^-.-.хД^ Это значит, что при всех значениях переменных х^х2,...,хп значения /^ и /в совпадают.
8. Разложение булевых функций по переменным
Рассмотрим вопрос представления //-местной булевой функции •f^ * хг ) какой-нибудь формулой алгебры высказываний.
введем обозначение: хс = хо v ха . где а — параметр, равный 0 или 1.
Очевидно, что°
[ .V, 0 = 1.
при ЛЮ-(1.8.1)перемеп-функциит пере-при ЛЮ-(1.8.1)перемеп-функциит пере-л/(ара2,...,а,„х„1р...,х„)л/(ара2,...,а,„х„1р...,х„)Теорема 1.4. Каждую функцию алгебры логики /к,х^,х2>...,хп^ бом m (\<m<n) можно представить в следующей форме:
при ЛЮ-
(1.8.1)
перемеп-
функции
т пере-
при ЛЮ-
(1.8.1)
перемеп-
функции
т пере-
л/(ара2,...,а,„х„1р...,х„)
л/(ара2,...,а,„х„1р...,х„)
где дизъюнкция берется по всевозможным наборам значений ных ^,х2,...,л;н.
Доказательство. Указанное в теореме представление /кЛг-^т^янг-ч^п) называется разложением функции по
менным ,х2,...,хт.
Рассмотрим произвольный набор а|,а2,...,а„ значений всех переменных данной функции. Покажем, что на этом наборе левая и правая часть формулы (1,8.1) принимают одно и то же значение. Левая часть равна /^аИа2>...>ап), правая
V а? ла;= л-.а’" л/(а|,а2,...,а„„а„,+,а„) = <! ла? л...а“" л
л/(а1,а2,...,а„„а,„+1,...,а„) = /(а|,а2,...,а,„,а„,+1,...,а„),
т. к. ар = 1, если только а = а, если же а * о, то ар = 0 и соответствующее логическое слагаемое можно отбросить.
Следствие 1 (разложение по одной переменной).
/(XpX2,..PX,ppxJ= Х„ л/(хрХ2,...,Х„_р1Д
—,х(1.8.2)
vW\W--ixh>0)
В этом случае функции /(x|,x2,...,x,j4,l) и /(xj,^,...^,,.,^) называются компонентами разложения.
Следствие 2 (разложение по всем переменным).
(1.8.3)(1.8.3)./■(х1,Х2,...,Х„_1,Х„) = V Х^'а^Л.^Л
(1.8.3)
(1.8.3)
л/(Ора2,...,а„_ра„)
Очевидно, что если /(<х^Х2>—»хн )^ 0, то
(1.8.4)(1.8.4)V х?' ах?2 л...х^ л/(а„а2,...,аи,аа)= °1-°2° 11
(1.8.4)
(1.8.4)
—VЛ л2 Л...Л,,
,°Ь°2° »• х
/(01-02WiiF1
Итак, если функция /(хрх2 ,...,х„ ) не является тождественно ложной функцией, то она может быть выражена равносильной формулой, представляющей собой логическую сумму различных произведений вида х°', причем такое представление единственно.
формула (1.8.3) называется дизъюнктивной нормальной формой. Ее вид может быть значительно упрощен. Известно, что всякая формула алгебры логики может быть путем эквивалентных преобразований по формулам (1.4.1)- (1.4.3) сведена к формуле, содержащей только конъюнкцию и отрицание или дизъюнкцию и отрицание. В результате проведения эквивалентных преобразований могут получиться несколько формул, однако только одна из них будет обладать следующими свойствами:
Каждое логическое слагаемое содержит все переменные, входящие в фор- мулу /(.Wz>->x»)-
Ни одно логическое слагаемое нс содержит одновременно переменную и ее отрицание.
Все логические слагаемые в формуле различны.
Ни одно логическое слагаемое не содержит одну и ту же переменную дважды.
Эти четыре свойства называются свойствами совершенства.
Если /(хрх2,...,хп) задана таблицей истинности, то соответствующая формула алгебры логики восстанавливается довольно просто. Для всех значений аргументов л* ,х2,...,хр при которых J принимает значение 1, нужно записать конъюнкцию элементарных переменных высказываний, взяв за член конъюнкции х, если х; = 1, и хр если х =0. Дизъюнкция всех записанных конъюнкций и будет необходимой формулой. О значениях / = 0 можно не беспокоиться, т. к. соответствующее слагаемое в формуле будет равно 0 и его можно отбросить в силу условия /v0 = f.
■ Пример. Задана таблица истинности (табл. 1.8.1) функции Р^х^тУ
Таблица 1.8.1
X
У
Z.
X
У
f'lt, y,z)
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
0
°
0
0
0
1
Отсюда f(x, у, z) = xyzv xyzv xyz v xyz v xyz. Упростим эту формулу.
/(x,y,z) a yz(x v x)v xz(y v y) v xyz = yzv xzv xyz s = yz v x(z v yz) = yzv x(z v y)(z v z) = yzv x(z V >’) =
= (yz v x) A(yz v zv y) = [(y vx)a(zv x))a (y V Z V y) A (z V Z V y) =
= (у V x) A (z V X) A (z V 1) Л (у V 1) = (у V X) A (z V х) = (x V y) A (x V z) = = X V (y A z) = X —> yz.
1.9. Дизъюнктивная и конъюнктивная нормальные формы
Формула х”1 ах,2 а...ах^, где о = {а,,а2,...,а„}— какой-нибудь двоичный набор, а среди переменных xt могут быть совпадающие, называется элементарной конъюнкцией, или конъюнктом.
Всякая дизъюнкция элементарных конъюнкций называется дизъюнктивной нормальной формой (сокращенно ДНФ). О ней уже упоминалось в следствии 2 теоремы 1.4.
Элементарная конъюнкция называется правильной, если каждая переменная входит в нее не более одного раза, включая вхождения под знаком отрицания. Правильная элементарная конъюнкция называется полной относительно переменных хх,х^,...,хп, если каждая из переменных входит в нее один и только один раз. Например, ххх1х3х4— полная правильная элементарная конъюнкция, а х,х,х2 —неправильная элементарная конъюнкция.
Для любой формулы алгебры логики путем элементарных преобразований можно получить ее ДНФ, причем не единственную (не все формулы в цепочке преобразований будут ДНФ, но многие: именно те, которые содержат лишь операции , v и л). Однако среди многих ДНФ лишь одна будет удовлетворять всем условиям совершенства.
ДНФ формулы алгебры логики, удовлетворяющей всем четырем условиям совершенства, называется совершенной дизъюнктивной нормальной формой.
Условиями совершенства называются следующие:
. Все логические слагаемые в ДНФ различны.
. Каждое логическое слагаемое содержит все переменные.
ни одно логическое слагаемое не содержит х; и xt одновременно.
Ни одно логическое слагаемое не содержит xt дважды.
Таким образом, совершенной дизъюнктивной формой (СДНФ) относительно переменных хХ)х1,...,хи называется такая ДНФ, в которой нет одинаковых элементарных конъюнкций и все элементарные конъюнкции правильны и полны относительно переменных xvx2v...,xil. Итак, для всякой функции алгебры логики /(х^^,...,^,), не равной тождественно нулю, справедливо ее следующее представление в виде СДНФ:
/(х1,х2,...,х„) = v ^л^л-л#,(1.9.1)
Дс| ,а2--]о,|)-1
где символ v означает, что берутся дизъюнкции по тем наборам переменных, которые указаны под ним.
Если функция /{х{, х2 ,...,хп) задана не истинностной таблицей, а формулой, то ее СДНФ можно получить путем равносильных преобразований. Заметим, что формулы, являющиеся ДНФ, можно охарактеризовать как формулы, содержащие только дизъюнкцию, конъюнкцию и отрицание, в которых отрицания стоят только над аргументами, и вначале выполняются все конъюнкции, а потом дизъюнкции.
Итак, алгоритм получения СДНФ таков:
Для формулы А получаем любую ДНФ.
Если в ДНФ есть слагаемое В, не содержащее хр то заменяем В г Вл(х( v Xi) = (S а xj v (Вл х,) .
Если в ДНФ встретится два одинаковых слагаемых В, то лишнее можно отбросить, т. к. Bv В = В.
Если в некоторое слагаемое В в ДНФ А х, входит дважды, то лишнюю х, можно отбросить, так как х{ а X; = X;.
Если слагаемое В в ДНФА содержит конъюнкцию xfAi/, то х, л х/ = 0 и В = 0, и это слагаемое можно отбросить.
Формула вида х”1 v х£2 v ...v х”п называется элементарной дизъюнкцией или дизъюнктом. Пустым дизъюнктом называется константа 0. Дизъюнкт невыполним в том и только в том случае, если он пустой.
Конъюнктивной нормальной формой (КНФ) формулы А называется равносильная ей формула, представляющая собой конъюнкцию элементарных дизъюнкций. Если КНФ не содержит ни одного дизъюнкта, т. е. пуста, то она эквивалентна 1.
Элементарная дизъюнкция называется правильной, если в нее каждая переменная входит не более одного раза, включая и вхождения под знаком отрицания. Правильная элементарная дизъюнкция называется полной относительно переменных х^,х2,...,хП, если каждая из этих переменных входит в нее один и только один раз.
Пусть хпх2,...,хп — набор логических переменных, а о = (о],о2,..,,оп) — произвольный двоичный набор этих переменных. Конституентой единицы набора о называется конъюнкт х°х х2г ...х^". Конституентой нуля набора о называется дизъюнкт х,1 vx2 v ...v x,". Очевидно, что x^x^.-x”" =1 и x}"01 v x^2 v ... v x^* = 0 тогда и только тогда, когда Х] = О], х2 = о2,...,
Совершенной конъюнктивной нормальной формой (СКНФ) относительно переменных х^,х2,...,хп называется конъюнктивная нормальная форма, в которой нет одинаковых элементарных дизъюнкций и все элементарные дизъюнкции правильны и полны относительно переменных х, ,х2,...,хп.
Всякую функцию /(х|,х2,...,хп), отличающуюся от тождественно истинной, можно представить в виде СКНФ следующим образом:
/(х|,х2,...,х„) = JI х"1 vx”2 v... vx,°",(1.9.2)
Двро20,1 )=0
где символ fl означает, что конъюнкции берутся по тем наборам переменных, которые указаны под ним.
Здесь ситуация та же, что и для ДНФ. Для любой формулы А существует несколько КНФ, среди них есть только одна, удовлетворяющая условиям совершенства. Эта КНФ называется совершенной конъюнктивной нормальной формой.
Свойства совершенства для КНФ:
. Все сомножители (дизъюнкции) различны.
. Каждый сомножитель содержит все переменные.
Ни один из сомножителей не содержит х; и х, одновременно.
Ни один из сомножителей не содержит двух одинаковых переменных.
СКНФ, так же как и СДНФ, может быть получена двумя способами: из таблицы истинности для формулы А и путем эквивалентных преобразований. Действительно, найдем связь между СДНФ и СКНФ. При этом надо помнить следующие факты: полная правильная элементарная дизъюнкция хр v х?2 v ... v х„" равна нулю лишь на наборе ol,o2,...,o/J ; аналогично полная правильная элементарная конъюнкция х®1 л х22 л... л х°" равна единице на одном наборе о, ,о2,...,ои. Тогда если
СДНФ/= V 5'л^л...Л.<».
Д°|>а2”») = 1
то СДНФ,v . х"' лх? а...ах7
/До1.а2. • .o,J=0
Таким образом,
СКНФ / = СДНФ f .(1-9.3)
Алгоритм получения СКНФ путем эквивалентных преобразований похож на алгоритм получения СДНФ:
Для формулы А получаем любую КНФ.
Если элементарная дизъюнкция В. входящая в КНФ, не содержит х,. то
В = Вv(Xj АХ,-) = (В v xz) л (В v X,).
Если в некоторую элементарную дизъюнкцию В х, входит дважды, то лишнюю переменную х; можно отбросить, т. к. х. v xz = х,.
Если КНФ содержит два одинаковых сомножителя В, то лишнюю элементарную дизъюнкцию можно отбросить, т. к. В л В = В.
Если в элементарную дизъюнкцию В входит пара xz vx,, то ее можно
отбросить, т. к. xz v х, = 1, a S л 1 = В;.
Совершенные нормальные формы позволяют дать критерий равносильности двух произвольных формул А и В. В самом деле, каковы бы ни были формулы А и В, в том случае если они содержат одни и те же переменные, их можно заменить равносильными им формулами, которые необходимо привести к совершенным дизъюнктивным или конъюнктивным нормальным формам. Если А и В — равносильные формулы, то в силу единственности совершенных нормальных форм как конъюнктивные, так и дизъюнктивные нормальные формы этих формул должны полностью совпадать. Таким образом, сравнение совершенных нормальных форм формул А и В решает вопрос об их равносильности.
При упрощении ДНФ или КНФ удобно пользоваться следующими равносильностями:
XV ху= X,x(xv v)= X,
(1.9.4)(1.9.4)XV xy = XV у,
(1.9.4)
(1.9.4)
XV ху= XV у.
х(х v ^) а ху.
Закон двойственности
Операция конъюнкции называется двойственной операции дизъюнкции и наоборот, операция дизъюнкции называется двойственной операции конъюнкции.
Функция /*(^,x2,...,x;i)=/^7^T-v^J называется двойственной к функции /(д^,^,...,^). Функция, равносильная своей двойственной, т. е. такая, что /* (л^,^,...,^)^/^^^?^), называется самодвойственной. Очевидно, что самодвойственная функция принимает на противоположных наборах а(,а2,...,а„ и ара2,...,ал противоположные значения.
Среди элементарных функций алгебры логики 0, 1, х, х, Хх л х2, х, v х2 О двойственна 1; 1 двойственна 0; х двойственна х; х двойственна х\ Х| л х2 двойственна х, v х2; х, v х2 двойственна ^ AXj.
Из определения двойственности следует, что /" = (/*) = /, т. е. функция у является двойственной к /* (свойство взаилтостиУ
формулы алгебры логики А и А* называются двойственными, если А* получается из А путем замены каждой операции на двойственную ей операцию.
Рассмотрим формулу А = х л у v (х —» у) л х = хлу v ^v у)лх . Двойственная ей формула будет иметь вид 4* = xv у л ((хл y)v х)= x\Cxyv х). Пусть теперь J^x, у) = х л у v (х —> у) л х. По определению двойственной функции f(x, у) = /^,у)= хлуУ^->у)лх = хлул Еч;)л( г = ху л V у)л х = ху л (х V у v х)= ху (ху V х).
Теорема 1.5. Функция, двойственная суперпозиции некоторых функций, равносильна соответствующей суперпозиции двойственных функций, т. е. если
v(x1,x2,...,x„) = /(ViGyb^i.i.—^n, ) Фз^г.г^г.г’-'-'^зл,) —•’Л»>л„}
V*(x1,x2,...,x„) =/*(v^xi,i-xi.2v--,xi,3v*2(x2,i,x2]2v..,x2itJ^...)
где через х^,хг,...ъхп обозначены все различные символы переменных, встречающиеся в наборах (^и), (^2 I’x2,2’-’x2
(^«.b^m.Z’—*^»!.km )•
Доказательство. По определению двойственной функции
В заключение приведем без доказательства еще две теоремы о двойственных функциях.
Теорема 1.6. Если для функции /(х,, х2 ,...,хн) двойственной является /*(х| ,х2,...,хп), то справедлива равносильность f(xv,x2,..-.xn')s = f*(_X\,X2v,xn^. Эта формула доказывается методом математической индукции.
На основании теоремы 1.6 легко доказывается следующая.
Теорема 1.7. Если формулы А и В равносильны, то равносильны и двойственные им формулы, т. е. А = В —> А* = В\
Практическое занятие № 2. Функции алгебры логики. Закон двойственности
Показать, что каждой формуле А алгебры высказываний можно сопоставить функцию /(А) алгебры логики так, что если А, = А2, то M^=MY
Сколько имеется различных функций алгебры логики от и переменных?
По таблице истинности, приведенной в табл. 1.11.1, найти формулы, определяющие функции /(х,,^,..^), J^x^x^x^Y УзС^’^»^)’ /д (.Х|, х2, Xj), и придать им более простой вид.
Таблиг}а 1.11.1
х2
/г (“^ > xi ’ ^ )
J^x^
Лк.^.-^з)
1
1
1
0
0
0
1
1
1
0
1
1
0
0
1
0
1
1
1
0
1
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
0
11.4. Найти все существенные переменные следующих функций:
(xa^v^az);
(хлу^х;
(х -4 (у -4 z)) -4 ((х -4 у) -4 (х -> z)).
Выразить с помощью суперпозиций:
А и —> через v и
л и v через —> и
через —> и 0.
v через —> .
Привести к дизъюнктивной и конъюнктивной нормальной форме: ц^вЫС-^'Н^сУ 2Д(Л^В^А^В^с\
^л-Цв-а с))—> ((л ->с)-> (/1в)).
По данному набору значений переменных построить элементарную конъюнкцию, истинную для данного набора значений переменных.
Для следующих формул найти СДНФ, при этом для формул 1, 2, 3 и 5 использовать два способа.
((5 —> в)—> ((вл С)—> (Лл С)));
((А->В)-ал')^(А-а(АлВ));
(АлВ)-аЛл(АлВ)-а В;
4)4^(4^(...^(4,ч^д,)...));
(а-ас)->В-аА.
1-11.9. Следующие формулы привести к совершенной конъюнктивной нормальной форме:
(С^А^^С-аЛУ
(Ал B)-a Av (А л (Вv С));
Aa(BvC) -> (А л В) V С;
(a vB —> Ал с)—> А—> A v В л С ;
A, v А2 v... v А„ -> В, а В2 л... л В„.
Найти СДНФ для всякой тождественно истинной формулы, содержащей:
Одну переменную.
Две переменных.
., 3) Три переменных.
Найти СКНФ для всякой тождественно ложной формулы, содер- . жащей:
Одну переменную.
Две переменных.
Три переменных.
Построить формулу от трех переменных, которая истинна в том и только том случае, когда ровно две переменные ложны.
Построить формулу от трех переменных, которая принимает такое же значение, как и большинство (меньшинство) переменных.
Построить формулу f от переменных х, у, z так, чтобы
{
ХА / = ХА у, xv f = xv z.
По данным СДНФЛ и СДНФ5 построить: СДНФ(ЛуВ) и СКНФ(Л v В).
По СКНФ А построить СДНФ Л*, где А* — формула, двойственная к А.
Построить функции, двойственные следующим функциям:
"1) Основным логическим операциям и константам 0, 1.
Функции от трех переменных, равной I, если четное число переменных равно единице.
Показать, что функция xyv xzv yz является самодвойственной.
Сколько имеется самодвойственных функций от и переменных?
.Ц.20. Дана произвольная несамодвойственная функция. Отождествить у нее переменные так, чтобы получилась несамодвойственная функция от возможно меньшего числа переменных. Каким может быть это число?
.12. Минимизация булевых функций в классе ДНФ
Карты Карно*
Как было ранее показано, произвольная булева функция может быть представлена в дизъюнктивной и конъюнктивной нормальной форме. Очевидно, что среди этих форм будут такие, какие содержат меньшее число переменных, чем исходная.
Дизъюнктивная нормальная форма называется минимальной, если она содержит наименьшее число вхождений переменных по сравнению со всеми равносильными ей ДНФ.
Формула А^,^,...,^,) называется импликанпюй формулы ^(хрХ-,,...,^), если А — правильная элементарная конъюнкция и АлВ = В. Импликанта А(^2,...,хп^= х”'х”2 ...х"к формулы В называется простой, если после отбрасывания любой переменной из А не получается формула, являющаяся импликантой формулы В.
■ Пример. Пусть А = дуг v хуг v хуг v хуг. Найдем все импликанты и простые импликанты этой формулы по табл. 1.12.1.
Таблица 1.12.1
X
у
г
X
7
г
хг
yz
ху
1
1
1
0
0
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
_0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
Лазар Никола Карло (Camot)( 1753-1823) — французский математик.
Таблица 1.12.1 (продолжение)
xz
У?
ху
ху
XZ
XZ
zy
yz
xyz
xyz
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
Таблица 1.12.1 (окончание)
xyz
xyz
xyz
xyz
xyz
xyz
xyzv xyz
xyzv xyz
A
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
.1
1
0
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
Правильных элементарных конъюнкций у этой формулы 26, оии все приведены в табл. 1.12.1. Импликанты по таблице находятся очень легко; импликант всего семь: yz, ху, xz, xyz, xyz, xyz и x у z. Каждую из них можно проверить аналитически, например, А л yz = (xyz v xyz v xyz v хуг)л yz = = xyzyz v xyzyz v xyzyz v xyzyz = xyz v xyz = yz(x v x)= yz. Простыми импликантами являются формулы yz, ху и xz • Таким образом, сокра-
щенная ДНФ формулы А будет дизъюнкцией этих простых импликант: со- крашенная ДНФА = xyv xz v yz.
Очевидно, что всякая булева функция, не равная нулю, представима в виде сокращенной ДНФ. Сокращенная ДНФ может содержать лишние импликан- ^ы, удаление которых не меняет таблицы истинности. Если удалить эти лишние импликанты, то получается ДНФ, называемая тупиковой.
Тупиковая ДНФ, содержащая наименьшее число вхождений переменных вы- . сказываний, называется минимальной ДНФ (МДНФ).
(Сокращенную ДНФ можно получить и с помощью аналитических преобразований без таблицы истинности. Для этого используются три операции:
Полное склеивание Ал v Ал = А^л v л)= А.
Неполное склеивание Ал v Ал = а(л v a)v Ал v Ал = A v Ах v Ал .
Элементарное поглощение Алс v А = а(л° v 1)= А, се {0,1}.
Теорема 1.8 (Теорема Квайна). Если в СДИФ формулы А произвести все возможные операции неполного склеивания, а затем операции элементарного поглощения, то получится сокращенная ДНФ, т. е. дизъюнкция всех простых имплнкант.
Рассмотрим формулу А из предыдущего примера. Произведем в ней все возможные операции неполного склеивания, а затем элементарного поглощения. Тогда
А = xyz v xyz v xyz v xyz =
= xz(y v y)v уг(л V л)у лу(? v ?)v xyz v xyz v xyz V xyz = Л2 v yz v
V Xyv xyz V xyz v xyz v xyz = xz(l v y)v yz(l V л) V xy(l v z)v xyz == xz v xy V yz(l V л) = л у V xz v yz .
Для получения минимальной ДНФ из сокращенной используется матрица Квайна, имеющая следующую структуру: в заголовки столбцов матрицы записываются конституенты единицы СДНФ, а в заголовки строк— простые импликанты сокращенной ДНФ. В матрице звездочками отмечаются те пересечения строк и столбцов, для которых элементарная конъюнкция, стоящая в заголовке строки, входит в констигуенту единицы, стоящую в заголовке Столбца.
Составим матрицу Квайна для формулы А в табл. 1.12,2. Поскольку формула А дана в виде СДНФ (см. табл. 1.12.1), матрица будет иметь следующий вид.
Таблица 1.12.2
Простые импликаиты
Конституенты единицы СДНФ
xyz
xyz
xyz
xyz
ху
-
*
*
-
XZ
*
-
*
-
У^
-
*
-
*
В тупиковую ДНФ выбирается минимальное число простых импликант, дизъюнкция которых сохраняет все конституенты единицы СДНФ, т. е. каждый столбец матрицы Квайна содержит по крайней мере одну звездочку, стоящую на пересечении со строкой, соответствующей одной из выбранных импликант. Затем из тупиковой выбирается минимальная ДНФ. В нашем случае тупиковая ДНФ равна xz v yz, она же будет равна МДНФ.
Еще один, на наш взгляд, более громоздкий способ получения минимальной ДНФ дает использование карт Карно. Карта Карио содержит 2” клеток, каждая из которых соответствует одной из 2" возможных комбинаций значений п логических переменных хх,х2,...,хп. Обычно карта строится в виде матрицы размером 2к на 2п~к так, что ее столбцы соответствуют значениям переменных xx,x2v..,xk, строки—значениям переменных xk+t1xMv..txfl, а соседние клетки отличаются только значением одной переменной как по вертикали, так и по горизонтали. Для каждой функции может быть построено несколько различных карт Карно.
Для формулы А, содержащей три переменных, карта Карно может иметь вид, показанный на рис. 1.1 и 1.2. В этих картах все клетки, отмеченные скобкой, представляют комбинации соответствующей переменной со значением "единица", неотмеченные клетки соответствуют переменной со значением "нуль".
В карте Карно каждая клетка может иметь не более четырех соседних клеток (по горизонтали и по вертикали), поэтому для представления точек, отли-
^gga 1- Алгебра логики (алгебра высказываний) 41 чающихся только на одну координату, часто бывает необходимо использо- вать более удаленные клетки.
Булева функция может быть представлена на карте Карно выделением клеток в которых она принимает значение, равное единице. Для построения простых импликант берутся всевозможные наборы клеток, образующих вершины некоторого к -куба, т. е. 2* точек таких, что пары соседних отличаются ровно одной координатой. Совпадающие координаты образуют набор (a. t), и нужная импликация имеет вид х^х?2..^?""*, где х, —
переменная, соответствующая о; .
После просмотра всех пар точек, образующих 1-кубы, нужно перебрать четверки точек, входящих в 2-кубы и т. д. Следует отметить, что простые им- пликанты находятся только в к -кубах, не содержащихся в кубах более высокого порядка.
Для формулы А(х, y,z) = хуг v хуг v xyz v хуг карта Карно пред- ставлена на рис. 1.3. Здесь А(0,0,0) = А(О,1,О)= Л(0,1,1)= АС!,!,!) = 0, а А(1Д,0) = А(1,0,0)= А(0,0,1) = А(1,0Д) = 1.
На этой карте для формулы А можно выделить только 1-кубы, 2-кубов здесь Нет. Имеется три пары точек (1,1,0)—<1,0,0), (1,0,0)—(1,0,1) и (1,0,1)—(0,0,1), Сличающихся значением ровно одной координаты. Соответствующие про- етые импликанты имеют вид для первой пары: xz (илихуг v хуг = xz ), для второй ху и для третьей пары уг . Таким образом, сокращенная ДНФ будет равна ху v xz v yz.
110 1100
111 |Ю1о|
Рис. 1.3
После нахождения простых импликант построение МДНФ сводится к изучению матрицы Квайна. На картах Карно простой структуры удается непосредственно находить МДНФ, выбирая те простые импликанты, которые покрывают все единицы и имеют наименьшее возможное число вхождений переменных. В случае нашего примера это две пары точек: (1,1,0)—(1,0,0) и (0,0,1)—(1,0,1), т. е. МДНФ = хг v уг ■
В силу принципа двойственности все приведенные рассуждения могут быть применены после необходимого преобразования для нахождения минимальных конъюнктивных нормальных форм (МКНФ).
Проблема разрешимости
Все формулы алгебры логики делятся натри класса:
Тавтологии.
Тождественно ложные.
Выполнимые.
Формулу А называют выполнимой, если она принимает значение единицы хотя бы на одном наборе входящих в нее переменных и не является тождественно истинной.
Вопрос, к какому классу формул относится текущая формула А, и называется проблемой разрешимости, которая элементарно решается с помощью таблицы истинности, однако для больших формул таблицы очень громоздки и их использование затруднительно.
Другой способ основан на приведении формулы А к КНФ или ДНФ и использовании специального алгоритма, который позволяет определить, является ли данная формула тождественно истинной или нет. Одновременно с этим решается проблема разрешимости.
Вышеназванный алгоритм таков. Сначала рассматривается формула А . Если д* С то задача решена. Если это не так, то рассматривается формула А Если А = 1, то А = 0 и задача решена. Если это не так. то А — выполнимая формула. Установление тождественной истинности формулы А основано на следующих теоремах.
Теорема 1.9. Для того чтобы элементарная дизъюнкция была тождественно истинной, необходимо и достаточно, чтобы в пей содержалась переменная и ее отрицание.
Например, х( v х, = 1.
Теорема 1.10. Для того чтобы элементарная конъюнкция была тождественно ложной, необходимо и достаточно, чтобы в ней содержалась переменная н ее отрицание.
Здесь то же самое: для одной переменной это очевидно х а х, = 0, для набора п переменных это утверждение легко доказывается.
Теорема 1.11. Для того чтобы формула алгебры логики А была тождественно истинна, необходимо н доела точно, чтобы любая элементарна» дизъюнкция, входящая в КНФ А, содержала переменную и ее отрицание.
Доказательство.
Необходимость. Пусть А = 1. Тогда КНФ А = 1 и КНФА = Aj л А2 а А3 а... а Ап = 1 и Vt А- = 1. Так как Д — элементарная дизъюнкция, то по теореме 1.7 Д содержит переменную и ее отрицание.
Достаточность. Пусть Д содержит переменную и ее отрицание. Тогда п
по теореме 1.7 Д=1,/= !,/?. Но КНФА = ]Д А/ = 1. Следовательно /=1
А —тождественно истинная формула.
Теорема 1.12. Для того чтобы формула алгебры логики А была тождественно ложной, необходимо и достаточно, чтобы любая элементарная конъюнкция, входящая в ДНФА, содержала переменную н ее отри- Цаине.
■ Пример. Л = (ху—> х) а (ху-э у). Получить СДНФ и СКНФ с помощью таблицы истинности (табл. 1.13.1) и путем элементарных преобразований.
Таблица 1.13.1
X
У
X
У
ху
ху X
ху
ХУ^У
ХУ^У
А
А
1
1
0
0
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
0
1
0
0
1
Из табл. 1.13.1 сразу получаем СДНФ А а х л у. Из этой же таблицы видно, что формула А — выполнимая формула. Найдем теперь СКНФ по формуле
СКНФ А = СДНФ А, СДНФА =(xAy)v(xAy)v (хАу).
СКНФА а (х А у) V (х А у) V (х А у) = (х А у) А
Л (х А у) V (х А у) 2 (х V у) А (х А у) А (х А у) = (XV у) А (XV у) А (XV у). Элементарными преобразованиями исходной формулы получить СДНФ и СКНФ часто бывает значительно сложней, чем из таблицы истинности
А = (ху —> х) А (ху —> у) = (ху V х) А (лу V у) =
= (лу V х) Л (ху А у) = (ху V х) А (лу А у) = (ху V х) А (ху) а Лу(х V 1) =
= ду = х а у — сразу ДНФ и СДНФ. СДНФ — дизъюнкция элементарных конъюнкций. В ней только одно слагаемое ху, других нет. Найдем теперь СКНФ, для этого нужна хоть какая-то КНФ. Например, ху — КНФ, т. к. х и у можно считать элементарными дизъюнкциями.
лу = (х V (у А у)) А (у v (X А х)) = (х V у) А (х V у) А (у V х) А (у V х) =
= (х V у) А (х V у) А (х V у).
Полученная СДНФ А не является тождественно ложной, т. к. входящая в нее элементарная конъюнкция не содержит переменную и ее отрицание. Следовательно, формула А или тождественно истинна или выполнима.
СКНФ А не является тождественно истинной, т. к. все элементарные дизъюнкции не содержат какую-то переменную и ее отрицание. Таким образом, А — выполнимая формула.
fj4. Полиномы Жегалкина*
Конъюнкция ху в булевой алгебре {0,1} совпадает с арифметической операцией умножения над числами. Обычное арифметическое сложение выводит за пределы множества {0,1}, но можно использовать сложение по модулю 2.
Рассмотрим логическую связь, определяемую в табл. 1.14.1.
Таблица 1.14.1
X
У
X® у
1
1
0
1
0
1
0
1
1
0
0
0
В результате возникает новая логическая операция, которую мы будем обозначать хФу. Жегалкин И. И. предложил эту логическую связь называть суммой х и у и обозначать х Ф у . Сумма истинна тогда и только тогда, когда истинно одно и только одно составляющее высказывание, т. е. знак Ф Здесь означает союз "или", употребленный в строго разделительном смысле. Сравнивая таблицы истинности основных логических связок, заметим, что х Ф у = х «-> у. Подобным же образом могут быть арифметизированы все 16 операций, ранее рассматривавшихся для функций двух переменных.
Для двух введенных операций: введенного сложения по модулю 2 и умножения (конъюнкции) имеют место все основные логические законы: коммутативность, ассоциативность, дистрибутивность умножения относительно сложения. Операция сложения по модулю 2 используется в логических функциях, называемых полиномами (многочленами) Жегалкина.
Многочленом Жегалкина называется многочлен, являющийся суммой константы 0 или 1 и различных одночленов, в которых все переменные входят не выше, чем в первой степени:
-1114:1
Жегалкин Иван Иванович (1869-1947) — советский математик.
причем на каждом наборе (z,,^,...,^) все ij (j = 1,2,„.Д) различны, а аи : £ {0,1}.
Подсчитаем число полиномов Жегалкина от переменных х, ,х^,...,х?1, т. е. число выражений вида (1.14.1). Число членовравно количеству
подмножеств вида {ph»-^^} множества из п чисел {1,2,...,и}, т. е. 2Л . Поскольку а^^ [t =0 или 1, то общее число многочленов 22 . Так как число булевых функций от и переменных также равно 22 , то каждая булева функция может быть представлена многочленом Жегалкина. Заметим, что какова бы ни была булева функция от двух переменных /(^, х2), ее логическое значение /(а1,а2) при любом наборе (ара2) выражается формулой
/(“1,«2) = /(1Д)а|а2 © /(1,0)«| (1 © а2)® /(ОДХ ©“i)“2 © ©/(O.oXieaJl©^),(1.14.2)
в справедливости которой легко убедиться.
Рассмотрим несколько примеров. Сначала с помощью таблицы истинности 1.14,2 найдем, как выражается многочлен Жегалкина для х.
Таблица 1.14.2
X
X
Х©1
1
0
0
0
1
1
2 X) V Х2 V X, = X, Л Х2 Л X, = (.Г, ® 1X^2 ® 1X^3 ® 0® 1 =
= Х)Х2Х3 © Х2Х3 ® Х,Х3 ® х3 ® XjXj ® X, Ф X, Ф 1 ® 1 = Х,х3х3 ® XjXj ® @х,х3 © х, ©х2 ® х3.
ц.заключение приведем вновь таблицу всех булевых функций (табл. 1.14.3) от Двух переменных и их представление многочленами Жегалкина.
Таблица I 14.3
X
У
L
Л
Л
Л
Л
А
Л
1
1
1
1
1
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
О
0
1
0
0
0
0
0
1
А
у
/10
/и
Уг
/13
fu
/|5
fu,
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
/=1 = 1,/2 = X V V = Ху Ф X Ф у ,
/з = х = X,у=хлу = XV,
fs=x-^y-ху ®х,
/? = 33 V у = ху Ф X © у © 1 ,
/9 =х= X©1 ,
/, = у= у®1, fa = х л у = ху ® 1, fa = у —> х = ху Ф у Ф 1.
/6 = у -> X = ху ® у,
/8 = X у = X ® у, /10 = X у = X ® у ® 1. Л1=у=у.
fw = х-> у = ху ® X® 1, /6 = 0 = 0.
Полнота и замкнутость функций алгебры логики
Система булевых функций G = {/J ,/2 ,■••,/„} называется полной, если любая булева функция может быть выражена через функции из G с помощью суперпозиций. Система Р2 — множество всех булевых функций — является полной системой.
Теорема 1.13. Пусть даны две системы функций {/1,/2,•••>/„} н &i»^2v>v>^a}» относительно которых известно, что первая система полна н любая из ее функций может быть выражена с помощью суперпозиции через функции gt,g2,...,gk. Тогда система fei,g2’ - ’^A} также является полной системой.
Доказательство.
Пусть ф— произвольная функция из Р1. Так как система функций Vv fi.л полна, то ф = <р(.А,А,причем переменных в ф может быть любое конечное число от 1 до т.
Л =Ф1(5р528к\
По условию теоремы ^- ~ Фз^’Яг»—» 8 А Теперь функция ф может быть
/щ ~ Ф/н (^(» #2 ’••■’ 8k
выражена через систему функций {?1><?2»--”<?а} с помощью суперпозиции ф = tpMgvgi.-.sAipAgx.gi.-.gA-
■••,(P,Ag\’gi>->gk)')=v(gi,gi>-.gk\ Таким образом, произвольная функция из Р2 выражена через функции системы ^^^г,.--,^*}» т- е- эта система функций полна.
Рассмотрим несколько примеров и докажем полноту следующих систем функций:
{ , л, v} Полнота этой системы непосредственно следует из формул (1.9.1) и (1.9.2).
{ , у}и { , л]. Для доказательства полноты системы { , v} воспользуемся теоремой 1.8. Здесь роль системы {/1>/г»/з} играют функции { , л, v}.
* t Алгебра логики (алгебра высказываний) гтпВВа у/* г
а роль системы fe,,g2}— функции { ,v). Тогда /, = g,, f3 = g2, /,=^2 = ф2 С?1 ’-?2 )'
Полнота системы { , л} доказывается аналогично с использованием рав-
носильности Л^ V Х2 — Х| А Х2 ,
{•,®л}— система, связанная с полиномами Жегалкина. Доказательство ее полноты проводится аналогично: возьмем {/р/2}={ 'л]* a {gi,g2>ft}={>®-1}. Тогда поскольку х=хФ1, то /, = Ф|(§2>^з)> у2 = g}, т. е. система функций {•, Ф, 1} полна.
Таким образом, мы получили результат, который можно сформулировать в виде следующей теоремы.
Теорема 1.14. Каждая функция из Р2 может быть выражена при помощи полинома по модулю 2 (полинома Жегалкина).
Класс функций G называется функционально замкнутым, если вместе с функциями из этого класса он содержит и все их суперпозиции. Функционально замкнутыми классами являются класс всех булевых функций Р2, класс, содержащий только тождественные функции вида /(х)=х, класс функций от одной переменной, т. к. все суперпозиции над функциями из этих классов не выводят результат из соответствующих классов.
Функционально замкнутые классы, отличные от пустого класса и от совокупности всех функций алгебры логики, называются собственными функционально замкнутыми классами. Рассмотрим некоторые важнейшие замкнутые классы функций из Р2.
Обозначим через Ро класс всех булевых функций /(.V],^,...,^), сохраняющих нуль, т. е. функций, для которых /(О,0,...,0) = 0. Очевидно, что в этот класс входят функции 0, х, х, а х2, л^ v х2, ^ ® х,, а функции 1 и х не входят в него.
Для обоснования замкнутости Ро достаточно показать, что функция Ф^Ф^-Л—Л,^^, если fxJ2_JwEPQ. Но <р(0,0,...,0) = = ф(Л(0, О,..., О),/2(0, О,..., О),...,/„,(О, О,..., О)) = 0. Следовательно, (ре Ро.
Через обозначим класс булевых функций /(^рЛ2„..,лв), сохраняющих единицу, т. е. функций, для которых /(1,1,..., 1)= 1. К этому классу
принадлежат функции 1, x,xv ax2,x^v х2, напротив, функции 0 и х не входят в Р^. Доказательство замкнутости этого класса аналогично преды- - дущему.
Обозначим через 5 класс всех самодвойственных функций, т. е. функций f е Р2, для которых /* = /. Докажем, что класс 5 замкнут. Для самодвойственной функции имеет место тождество /(x^,^,...,^^ J^ ,х2,...,х„). Для доказательства замкнутости покажем, что ф =<р(/,,/2,...,/,„)е5,если fvJIv..JmeS. Найдем ^‘^^УМЛ)=ф(/|./2.-.^)е$. Этот же результат следует и из теоремы 1.5.
Функция j\xvx2,...,xn^ называется линейной, если /(х|,х2,...,х„)=а0®«1^1®-®«»Л1.
где a, Е {0,1}. Класс линейных функций обозначается через L. Он, очевидно, содержит константы 0 и 1, тождественную функцию х, функции X, Х| Ф х2. Функции х1 а х2 и х, v х2 е L.
Класс линейных функций L функционально замкнут. Если Л =а0 ©а,^ Ф...®^^ е L и /2 = 60 ®ЬА ©...©6„гх„2 е L, то «о ©а,^ Ф...Фа,(б0 ©Ь,л, ©...©Z>„2x„t )®aMxM®...®a„xni е L.
Это очевидно, если вспомнить, что х Ф х = 0, х • х — х, О Ф х = х. Переименование переменных также не выводит из L.
Последний класс наиболее важных замкнутых булевых функций— монотонные.
Введем отношения частичного порядка на наборах переменных х, ,х2,...,хп. Для двух наборов а = (at,a2,..-,«„) и р = (jpbp2,...,pn) выполнено отношение предшествования а^р,если а, < рьа2 5р2,...,а„ <р„ . Например, (о, 1,0,1)<(1,1,0,1). Оценки (о, 1,0,1) и (1,1,0,1) называются сравнимыми, а оценки (о, 1,0,1) и (1,0,1,1)— несравнимыми. Введенное отношение ч или < есть отношение частичного порядка.
Функция /(^,^,...,х„) называется монотонной, если для любых двух наборов а и Р таких, что а^р, имеет место неравенство /(а)< /(р). Класс
монотонных функций обозначается через М. Очевидно, что монотонными функциями будут 0, 1, х, х, л х2 и X] v х2. Функция х, —> х2 не монотонна, т.к. (О,о)^(1,0), но /(0,0)=/(1,0)= 0 .
Покажем, что класс монотонных функций замкнут. Для установления замкнутости класса М достаточно показать, что функция ф=Ч>(/|.Л>"Тт)6 ^ ’ если V'jVfl- 'Lne И . Пусть - /\ _(0 _ /1 ~()_/I
Х=(Х|,Х2x.i)’ х ~\x\,l’X1.2’-",x\,tJ' х -\xl.l’x2.2>—,x2.k1)'"’X - = ^m.l’xw.2' -.-W,J“ наборы переменных функций <р,/,/,,-,/,„ соот- ветственно, причем множество переменных функции ф состоит из тех и
Только тех переменных, которые встречаются у функций Д, /2,..., /,„. Пусть аир — два набора переменных х. причем а<р . Эти два набора опреде- ,~0) „0) "(2) z(2) qG")~0) ~(2)
ляют наборы а ,р ,а ,р ,...,а ,р переменных х ,х ...,,х "(2) "(2)-(„) -(„.)
причем такие, что а «р , а <р ,...,а <р
Функции ф,/,/2„..,/„, G М.т.е./^а^^/^р^у aP^4p(2)}...4^>4^ по™У[/ру2ру
силу монотонности (по условию) функции ф получим:
Классы P0,Pv,S,Lh М неполные и попарно различные, т. к. можно привести примеры булевых функций, не принадлежащих ни одному из этих клас- ^в, и примеры функций, принадлежащих одному из любых двух классов, но Не принадлежащих другому. Но оказывается, что для проверки полноты системы булевых функций можно ограничиться рассмотренными пятью функционально замкнутыми классами.
Теорема 1.15 (теорема Поста* о функциональной полноте). Для того чтобы система булевых функций {/(, /2,..., fm} была полной, необходимо
н достаточно, чтобы она целиком не содержалась ни в одном из пяти замкнутых классов Рй,Рх,8,Ьи М.
Для проверки, выполняются ли для некоторой системы функций {/„ЛЛ,} условия теоремы Поста, можно составлять таблицы, которые называются табтщами Поста. Рассмотрим следующий пример: доказать полноту системы функций хФ уф г, ху, 0,1. Таблица Поста будет иметь следующий вид (табл. 1.15.1).
Таблица L15.1
Функция
р.
Р'
S
L
м
X® _у® Z
+
+
+
+
-
ху
+
+
-
-
+
0
+
-
-
+
+
1
-
+
-
+
+
В клетках этой таблицы пишется знак "+” или ’-” в зависимости от того, принадлежит рассматриваемая функция заданному функционально замкнутому классу или нет. Для полноты системы функций необходимо и достаточно, чтобы в каждом столбце был хотя бы один минус.
/(x,y,z) = хФ уф z. f— функция, сохраняющая нуль, ибо 0Ф0®0 —0, аналогично она сохраняет единицу 1Ф1Ф1 = 1. Найдем двойственную ей функцию /* = /1(х,у,г)=(хФ1)ф(уФ1)ф(гФ1)®1 = = хФу®г®1®1®1®1 = х®уФг,т. е. Jx G S. Очевидно, что / — линейная функция. Осталось проверить ее на монотонность. Выберем два набора значений переменных (0,1,0)-< (о, 1,1), /](0,1,0)= 1 >/t(0,1,1) = 0. Итак, ДёМ.
г. /Ах, у) = ху. Проверим принадлежность /2 к каждому из пяти классов функций. 0-0 = 0, /2е Ро, 11 = 1, /2е Рх, /^ = /2^,}')= x^ у = XV у, т. е. /2 — несамодвойственная функция. /2 не линейна, т. к. содержит произведение переменных ху. Наконец, /2 е М, потому что имеется семь сравнимых наборов значений переменных: (0,0)^(0, 0),
(0,0)-<(1,0), (о,о)^(од), (1,0)^(1,1), (о,1)^(1,1), (0,0)-<(1,1) и
(1,1). Очевидно, что для любого из них
3. /3 = 0 и /4 - 1 проверяются элементарно.
Собственный функционально замкнутый класс называется предполным, если он не содержится ни в каком функционально замкнутом классе, отличном от самого себя и от класса всех функций алгебры логики. Итак, какой-то класс функций К называется предполным (или максимальным), если К — неполный, а для любой / е /2 и / ^ ^ > класс К V {/} — полный. Из определения следует, что предполный класс является замкнутым. В алгебре логики существуют только пять предполных классов, а именно: Ро, Рх, S, L и М.
Система функций G = {/|»/2 «•••»/„!} называется независимой, если никакая функция /; системы G не представима суперпозициями функций из
Независимая система функций G называется базисом замкнутого класса К, если всякая функция из К есть суперпозиция функций из G . Таким образом, система функций G из замкнутого класса К называется его базисом, если она полна в К, а всякая ее собственная подсистема не является полной в К.
Теорема 1.16. Каждый замкнутый класс из Р2 имеет конечный базис.
Производные от булевых функций
В дискретной математике и математической логике отсутствует понятие предела, однако используется термин производная. Это связано с разложением булевой функции в ряд, аналогичный ряду Маклорена в точке (на наборе) (0,0,..., О) или ряд Тейлора** в произвольной точке (на произвольном наборе).
Производной первого порядка от булевой функции /(.X; ,х2) по
ох,-
переменной X; называется
^- = .f(xl,x2,...,x._1,l,xit..гДеДл"^.....^.^^^(1.16.1)
Колин Маклорен (1698-1746) — шотландский математик.
Брук Тейлор (1685-1731) — английский ма гема гик.
где /^хих2,...,х;ц Д,^+1х„)— единичная остаточная функция, /(х,, x2v..txH ,0,х(Ч1 ,...,хп) —- нулевая остаточная функция, Ф — операция
суммирования по модулю два.
j(x1,x1,...,x„') on-j(x1,x1,...,x„') on-д/
j(x1,x1,...,x„') on-
j(x1,x1,...,x„') on-
Производная первого порядка —— от булевой функции ох5
ределяет условия, при которых эта функция изменяет значение при переключении переменной х(.
Смешанной производной —— — от булевой функции /(л',
дх^дх^.-лх^
называется выражение вида
Эту производную вычисляют, применяя соотношение (1.16.1) к раз при фиксации переменных xt ,x^v..,xik по порядку (порядок фиксации переменных не существенен).
Производной к-го порядка от булевой функции /'(^,х2,...,х„) по переменным Xj^x^v..sxik называется выражение, равное сумме по модулю числа 2 всех производных первого порядка, вторых, третьих,..., к-х смешанных производных при фиксации переменных xf ,Х; ,...,xf :
...©,(1.16.3)
dxtdxiv.dx4
где суммирование под знаком суммы в этой и последующих формулах, посвященных производным от булевых функций, производится также по модулю два.
Производная к-го порядка определяет условия, при которых функция /(^,х2,...,х#) изменяет значение при одновременном изменении значений
переменных х^ ,xt ,.-->xik.
Рассмотрим пример. Пусть / (х, j)= (ху--* х)л (xv-4j). Очевидно, что
/(.X, у) = (ху V ,х)л .XV л у = (ху V х)л ху = (х V у)л ху =
ТогдаТогда= лгу V хуу = ху .
Тогда
Тогда
= 1-уФ0-)’ = у, = X ■ 1 ФЛ" ■ 0 = -X, Эхду
э2/ 7 7Лдхду ду дх )э2/ 7 7Лдхду ду дх )= 1Ф0 == 1Ф0 =Э(х. у) дх дуЭ(х. у) дх дуfе—— = у<9л-®1 =дхдуfе—— = у<9л-®1 =дхду
э2/ 7 7Л
дхду ду дх )
э2/ 7 7Л
дхду ду дх )
= 1Ф0 =
= 1Ф0 =
Э(х. у) дх ду
Э(х. у) дх ду
f
е—— = у<9л-®1 =
дхду
f
е—— = у<9л-®1 =
дхду
= у Ф X = (у л х jv (у Л x)s ху V Л" V , Т. К. X Ф )’ = X ^ у =
Практическое использование введенные понятия производных от булевых функций находят при проектировании и расчете логических схем переключательных устройств, а именно: условия переключения различных каналов таких схем зависят от значений производных от булевых функций.
Выражение (1.14.1) для многочлена Жегалкина (частный случай (1.14.2)) можно более подробно расписать в следующем виде:
f(x.,x, х )= У a, х х ...х =f.©yfx ® У f х ®-®
J X I ’ 2’’ и/Ч'г-Ч 'l Ч Ч •'**/ i.li. i. Z 1J la, I. 1>
где а„ = /0. ait = J^ и т. д., /0, fit, f^,е {0,1}.
Последовательно продифференцируем полином Жегалкина от функции /^ , х2 ,...,хг! ) по переменным х,, х2 ,...,хп и найдем значения всех производных в точке (б, О,..., О). При этом поскольку полиномы Жегалкина состоят
из одночленов, в которые все переменные входят не выше, чем в первой сте
пени, топени, тоКроме того,Кроме того,по свойству производнойпо свойству производной
пени, то
пени, то
Кроме того,
Кроме того,
по свойству производной
по свойству производной
^^5^ ^ ^ = v" ©. Тогда после дифференцирования получаем
OX ox ox
аг^Х> (0.0.....0)аг^Х> (0.0.....0)э2э2Эх Эх , '^ (0,00)Эх Эх , '^ (0,00)'г (000)'г (000)- Al.-k ■- Al.-k ■
аг
^Х> (0.0.....0)
аг
^Х> (0.0.....0)
э2
э2
Эх Эх , '^ (0,00)
Эх Эх , '^ (0,00)
'г (000)
'г (000)
- Al.-k ■
- Al.-k ■
УЭх,. ’УЭх,. ’^x^Xj dx,dx2...dx„^x^Xj dx,dx2...dx„/,/ = 1,2,./,/ = 1,2,.n, i * j на этом наборе в видеn, i * j на этом наборе в видеZ(x,,X2Z(x,,X2х„)=/(0Д...,0)©£^'=1 dxi (0,0....,0) avх„)=/(0Д...,0)©£^'=1 dxi (0,0....,0) avд2д2;^_ Эх^Х;;^_ Эх^Х;£■‘1 *l3'—1k-\*'k£■‘1 *l3'—1k-\*'kдх,дх,= ...дх^дх,дх,= ...дх^дх^Хз-.-дх,дх^Хз-.-дх,(1,16.5)(1,16.5)
У
Эх,. ’
У
Эх,. ’
^x^Xj dx,dx2...dx„
^x^Xj dx,dx2...dx„
/,/ = 1,2,.
/,/ = 1,2,.
n, i * j на этом наборе в виде
n, i * j на этом наборе в виде
Z(x,,X2
Z(x,,X2
х„)=/(0Д...,0)©£^
'=1 dxi (0,0....,0) av
х„)=/(0Д...,0)©£^
'=1 dxi (0,0....,0) av
д2
д2
;^_ Эх^Х;
;^_ Эх^Х;
£■‘1 *l3'—1k-\*'k
£■‘1 *l3'—1k-\*'k
дх,дх,= ...дх^
дх,дх,= ...дх^
дх^Хз-.-дх,
дх^Хз-.-дх,
(1,16.5)
(1,16.5)
Действительно, после дифференцирования по переменным Ху,х2,...ъхк все члены в разложении (1.16.4) до fxlk обращаются в нуль, а в результате под
становки Хд,+) = х^+2 =... = хп = 0 остальные члены этого разложения, кро
ме /12 к, также будут равны нулю. Тогда из (1.16.4) после несложных преоб
разований получаем следующую теорему.
Теорема 1.17. Любая булева функция j\xx.,x2.1...,lxn') представима своим
значением на наборе (0,0,...,0) н значениями всех производных
Это разложение аналогично разложению в ряд Маклорена для функции и переменных. Для получения разложения булевой функции в ряд, аналогичный ряду Тейлора на наборе (а1,а2,...,а„), воспользуемся параллельным переносом начала координат.
Пусть х{ =х|®а], х2 =х2 ©а2,..., х'=х„©а„. Тогда точка (а1,а2,...,а„) в системе координат х,,х2,...,хп будет соответствовать точке (0,0,..., 0) в системе ^,х^,...,д^.
Разложим булеву функцию /(х,, х.,..„хп) по формуле (1,16.5) в точке (о, о,..., о) и заменим каждую переменную Л^ на х. ©о,-; получим формулу и теорему о разложении булевой функции /С^,,^,...,%„) на произвольном наборе (оро2,...,о„).
Теорема 118. Любая булева функция /(х,,^,...,хм) представима своим значением на наборе ((jpG,,...,^) н значениями всех своих производ-
иыхЬ ] = 1,2,Ь на этом наборе
dx; oXjdXj d.xxox2...oxn
в виде
Рассмотрим все этапы получения разложения по формуле (1.16.5) для конкретной булевой функции /(х, у, z) = (ху—» ут)-^ ((х —» у)-^ (~ ^))- Упростим эту формулу:
/(х, у, z) = ху v yz V ( X V у V Z V у j = (ху Л yzjV ((y а у)v Z V уs (лу л (у v z))v (х v у v z)= хуу v xyz V X V у V z г X V у V Z.
Получим вначале представление этой функции полиномом Жегалкина
/(х, у, z) = х v у v z = х л у л z = (х Ф 1Ху Ф l)z © 1 == (ху Ф у © X ® l)z Ф1 = xyz ф yz Ф XZ © z Ф 1.
Найдем теперь все необходимые производные:
~ — lvyvz®Ovyvz — l®yvz — у V Z = yz ■
То же самое получается из дифференцирования самого полинома Жегалкина
^- = yz © 0 © z ©0© 0 = yz © Z = z(y ® 1)=zy. Далее аналогично: ох
— = xvlvz©xvOvz = l©xvz = xvz = xz,-^- = xvyvl©xvyvO = оуoz
дхоу оу^дх J
э2/ =im dxdz dz ( Эх Jэ2/ =im dxdz dz ( Эх J= l- y©O-y = y;= l- y©O-y = y;э2/ эр/ЭуЭг dz I dyэ2/ эр/ЭуЭг dz I dy= 1 ■ x © 0 • x = x;= 1 ■ x © 0 • x = x;Э7 dxdydzЭ7 dxdydz
э2/ =im dxdz dz ( Эх J
э2/ =im dxdz dz ( Эх J
= l- y©O-y = y;
= l- y©O-y = y;
э2/ эр/
ЭуЭг dz I dy
э2/ эр/
ЭуЭг dz I dy
= 1 ■ x © 0 • x = x;
= 1 ■ x © 0 • x = x;
Э7 dxdydz
Э7 dxdydz
Тогда формула (1.16.5) для данной булевой функции от трех переменных будет иметь вид
/(x,y,z)=xvy vz = l©fc)l iAX®fe)|, Хлу®(ху)1
''v 'l(o,o,o)' 'l(o.o,o)' zl(o,o,o)
л г ® (^(0.0.0)л ® ^Ifo.o.o) А « © й|(ооо) л yz © 1 !(00 0) л хуг =
= 1©0®0©1-г©0®1-хг®1-уг©1' луг =
= l©z®xz©yz© хуг.
к-значные логики
Рассмотренная в предыдущих разделах двузначная логика допускает обобщение на А-значный случай. При этом хотя в А'-значных логиках сохраняются многие свойства и результаты двузначной логики, часто наблюдаемые факты и явления обнаруживают принципиальное отличие от рассмотренной алгебры логики. Многие решенные задачи двузначной логики не имеют такого исчерпывающего решения в А'-значной логике, а иные и вовсе не решены, функция /(л* ,х2,...,хп) называется фупкгрлей k-значиои логики, если ее аргументы определены на множестве {о, 1, 2,..., А -1}, состоящем из к элементов, а сама функция принимает значения из того же множества.
Множество всех функций /<-значцой логики обозначается через Рк . Очевидно, что функция /(л*| ,х2,...,.хн) полностью определена, если задана ее истинностная таблица (табл. 1.17.1).
Таблица 1.17.1
X.
Л2
Т-!
л;,
0
0
0
0
/(о,о,...до)
0
0
0
1
/(0,0,....0,1)
0
0
0
2
/(о,о,...,0,2)
0
0
0
А-1
/(0Д...,0,/с-1)
0
0
I
0
/(о,о,...д,о)
0
0
1
1
/(0Д...Д,1)
0
0
1
к-1
/(0Д...М-1)
к- 1
к-1
А--1
к-1
Дк-1,к-Г ../-1,/c-l)
3 Зак. 4306
Так как число /<-значных наборов длины п равно кп, то число функций от п переменных в /с-значной логике Рк равнокк .
Из сказанного ясно, что в Рк в значительной степени возрастают трудности по сравнению с Рт ь даже в возможности перебора функций. Например, если функций от двух переменных в Рг всего 16, то уже в 7^ их З3 = З = 19683. Число строк в истинностной таблице, равное кп, тоже растет очень быстро. Например, при к = п = 3 таблица имеет следующий вид (табл. 1.17.2).
Таблица 1.17.2
-/
^
-/
х3
/(^,*2,^)
0
0
0
/(0,0,0)
I
1
2
/(1,1,2)
0
0
1
/(о,о,1)
1
2
0
/0,2,0)
0
0
2
/(0,0,2)
1
2
1
/0,2,1)
0
1
0
/(0,1,0)
1
2
2
/0,2,2)
0
1
1
/(0,1,1)
2
0
0
/(2,0,0)
0
1
2
/(0,1,2)
2
0
1
/(2,0,1)
0
2
0
/(0,2,0)
2
0
2
/(2,0,2)
0
2
1
/(0,2,1)
2
1
0
/(2,1,0)
0
2
2
/(0,2,2)
2
1
1
/(2,1,1)
1
0
0
/0,0,0)
2
1
2
/(2,1,2)
1
0
1
/(1,0,1)
2
2
0
/(2,2,0)
1
0
2
/0,0,2)
2
2
1
/(2,2,1)
1
1
0
/0,1,0)
2
2
2
/(2,2,2)
1
1
I
/0,1,1)
рассмотрим примеры некоторых конкретных функций из Рк, которые можно считать элементарными.
(1.17.1)(1.17.1)х = (х + l)mod к — отрицание Поста.
(1.17.1)
(1.17.1)
х в этой функции представляет собой обобщение отрицания в смысле "циклического" сдвига значений. Например, при к = 3 для x = (x + l)mod3 будем иметь следующую таблицу истинности (табл. 1.17.3).
Xх = (x+l)mod3011220Xх = (x+l)mod3011220Таблица 1.17.3Таблица 1.17.3XNx=k-\- х021120XNx=k-\- х021120Таблица 1.17.4Таблица 1.17.4
X
х = (x+l)mod3
0
1
1
2
2
0
X
х = (x+l)mod3
0
1
1
2
2
0
Таблица 1.17.3
Таблица 1.17.3
X
Nx=k-\- х
0
2
1
1
2
0
X
Nx=k-\- х
0
2
1
1
2
0
Таблица 1.17.4
Таблица 1.17.4
~х= Nx=k-\-x. (1.17.2)
Это другое обобщение отрицания в смысле "зеркального" отображения значений. Эта функция носит название отрицания Лукасевича . Для к = 3 таблица истинности этой функции приведена в табл. 1.17.4.
Эта функция называется характеристической функцией второго рода числа 1 и обобщает некоторые свойства отрицания. Если £ = 3, то
_ / \ [2, х — i,
Ji\x)= ^у Q 1 ^у атаблица истинности представлена втабл. 1.17.5.
Таблица 1.17.5
i
X
л(*)
i
X
1
X
0
0
2
0
1
0
0
2
0
1
0
0
1
I
2
1
2
0
2
0
0
2
I
0
2
2
2
Ян Лукасевич (1878-1956) — польский математик и логик.
4- лМ =
1, х = i, 0,х* г, (i = 0,1,2,,
£-1)
(1.17.4)
(1.17.5)(1.17.6)(1.17.5)(1.17.6)
(1.17.5)
(1.17.6)
(1.17.5)
(1.17.6)
(характеристическая функция первого рода значения /). min(xl5x2),
(первое обобщение конъюнкции).
(х, • х2 )mod£
(произведение по модулю к и второе обобщение конъюнкции).
Таблицы истинности для этих функций приведены в табл. 1,17.6 и 1.17.7 (^ = 3)
*1
^2
min(^,x2)
0
0
0
0
1
0
0
2
0
1
0
0
1
1
1
1
2
1
2
0
0
2
1
1
2
2
2
Таблица 1.17.6
Х2
(х, • х2 )mod3
0
0
0
0
1
0
0
2
0
1
0
0
1
1
1
1
2
2
2
0
0
2
1
2
2
2
1
Таблица 1.17.7
(1.17.7)(1.17.8)(1.17.7)(1.17.8)
(1.17.7)
(1.17.8)
(1.17.7)
(1.17.8)
тах(х,,х2)
(обобщение дизъюнкции) (см. табл. 1.17.8).
(xl+x2)mod^
(сумма по модулю А:) (см. табл. 1.17.9).
Г 0, 0 < л- < у < к -1,
Усеченная разность х + у =
[х- у, 0<у<х<к-1.
f k-V, 0<x<y<k-l,
Импликация х —> у = , х
}(*-1)-х + у, 0<у<х<к-1.
При к = 3 операция импликации имеет вид
Г 2, 0 < Л < V < 2,
—> V = 5, а ее таблица истинности дана
[2-д- + у, 0 < у < х < 2
в табл. 1.17.10.
Л2тах(х|, х,)00001022101111122202212222Л2тах(х|, х,)00001022101111122202212222Таблица 1.17.8Таблица 1.17.8Х2(л) +.¥2)mod300001I022101112120202210221Х2(л) +.¥2)mod300001I022101112120202210221Таблица 1.17.9Таблица 1.17.9
Л2
тах(х|, х,)
0
0
0
0
1
0
2
2
1
0
1
1
1
1
1
2
2
2
0
2
2
1
2
2
2
2
Л2
тах(х|, х,)
0
0
0
0
1
0
2
2
1
0
1
1
1
1
1
2
2
2
0
2
2
1
2
2
2
2
Таблица 1.17.8
Таблица 1.17.8
Х2
(л) +.¥2)mod3
0
0
0
0
1
I
0
2
2
1
0
1
1
1
2
1
2
0
2
0
2
2
1
0
2
2
1
Х2
(л) +.¥2)mod3
0
0
0
0
1
I
0
2
2
1
0
1
1
1
2
1
2
0
2
0
2
2
1
0
2
2
1
Таблица 1.17.9
Таблица 1.17.9
Таблица 1.17.10
X
У
л -> у
X
У
х-> у
X
у
х-^ у
0
0
2
1
0
1
2
0
0
0
1
2
J
1
2
1
1
0
2
2
1
2
2
2
2
2
10. Функция Вебба: (max^, у)+ l)mod£ .
И. Разность по модулю к: х - у =И. Разность по модулю к: х - у =л - у, 0 < у < х < к -1,к - (у - 4 0 < х < у < к -1.
И. Разность по модулю к: х - у =
И. Разность по модулю к: х - у =
Таблица истин-Таблица истин-[ х-у, 0< у <х< 2,
Таблица истин-
Таблица истин-
При к = 3 получим х-у = ^, ч
кости этой операции приведена в табл. 1.17.11.
Таблица 1.17.11
X
У
(x->-)mod3
X
У
(x-y)mod3
X
У
(х- v)mod3
0
0
0
1
0
1
2
0
2
0
1
2
1
1
0
2
1
1
0
2
1
1
2
2
2
2
0
Из этого списка функций видно, что элементарные функции алгебры логики имеют при к > 3 по несколько аналогов, каждый из которых обобщает соответствующее свойство функции.
Функции min, max, +, -(или- ) обладают свойствами коммутативности и ассоциативности:
Xj • х2 = х2 • X];
xt + х2 = х2 + Х|;
2 (х,х2)-х3=х1.(х2-х3);
(х] + х2)+ х3 = Х| + (х2 +Х3)
Кроме того, справедливы следующие соотношения:
(х] + х2)-х3 = (х| • х3)+(х2 ■ х3)— дистрибутивность умножения относительно сложения.
max(min(^, х2), х3) = min(max(x,, х3), тах(х2, х,)) — дистрибутивность операции max относительно операции min.
min(max(x|, х2), х3) = max(min(xj, Xj), min(x2, х,)) — дистрибутивность операции min относительно операции max.
max(x, х) = х, min(x, х) = х — идемпотентность операций min и max.
min(~x. ) =~max(x , ),
~ х ~ z x —аналоги правил де Моргана.
max( Х|, х2) = min(jq, х2)
6.6.О, х = О,к - х, х О.О, х = О,к - х, х О.
6.
6.
О, х = О,к - х, х О.
О, х = О,к - х, х О.
функция /(xvx2,...,xh)g Рд называется существенной, если она существенно зависит не менее чем от двух переменных и принимает все к значений из множества {0,1,2,..., jfc -1}.
Обобщим теперь понятие совершенной дизъюнктивной нормальной формы иа /с-значный случай. Это можно сделать не единственным образом. Будем обозначать функции min(vY1,x2) и тах(х^.х2) соответственно через U AxJ И (л, V Х2).
Функция л* л л ...л х„ = min(x^x2,...,.x,z) называется конъюнкцией но k-значной логике. Тогда элементарная конъюнкция будет иметь вид 4, к )л Л, к )л -A J,,, (х„). Она отлична от нуля лишь на наборе (opG2»•••» °,i) и равна к — 1 на этом наборе.
Для функции /(^,л,,...)Хя) СДНФ при А = 2 имеет вид (1.8.3) /(х„л2,...,х„) = v /fo,ot^aJAx;‘Aji?A...AJ* где дизъ- юнкция берется по всем двоичным наборам.
Функция от и переменных А'-значноЙ логики единственным образом представляется в виде
/(х,,х2,...,х„) = v /(a,,a2,...,ajAJ (xJaJ (л^а...л./
= max {mink(al,o2,...,ajj (лД/Дх2),...^^(1.17.9)
°1’°2°н
Эта формула — аналог СДНФ для функции /^ ,Х),...,х„) в /с-значной логике. В литературе данное разложение называется первой формой. Доказывается формула прямой проверкой.
/(х,, х2 ,...,хП) в формуле (1.17.9) разложена по системе функций {0,1,2,..., к - 1, J0(x), Jj (х),..., Jn (х), min(x;, х2} max(x, ,х2 )}. Поскольку это разложение справедливо для любой произвольной функции /(х' ,х2 ,...,хн ), то данная система функций полна. С этой полной системой связано несколько групп тождеств, которые позволяют перейти от любой формулы над данным множеством функций к другой эквивалентной ей формуле.
-66
/с-значная логика, определяемая полной системой функций {О,1,2,...,к -1,J0(x), J^x),..., J,t(x), min(x1,x2),max(x1,x2)}, называется в литературе алгеброй Россера-Тьюкета**. Другими часто встречающимися /с-значными логиками являются логики, определяемые следующими полными системами функций:
алгебра Поста {О,!,...,£-1, max(xj,x2), ~}, где ~х = (х + l)modfc ;
алгебра Вебба {0,1,...,£ -1,° }, где Xj о х2 = (max(x,,x2)+ l)mod£ .
Пример. Пусть /(х,у)= ( xv y)v ( у v х). Представим эту формулу при к = 3 аналогом СДНФ в форме (1.17.9). Метод равносильных преобразований, которым мы пользовались в Р2, здесь применить значительно труднее. Для этого необходимо иметь все тождества в Р3, связанные с системой функций {0,1,2, J0(x> J|(x), J2(x\ min(x1,x2), max(xMx2)}. Воспользуемся истинностной таблицей для /(х,у) (табл. 1.17.12).
Таблица 1.17.12
X
У
~Х
~У
~xv у
~У V X
T^v у)
0
0
2
2
2
2
0
2
0
1
2
1
2
1
0
1
0
2
2
0
2
0
0
0
1
0
1
2
1
2
1
2
1
1
1
1
1
1
1
1
1
2
1
0
2
1
0
1
2
0
0
2
0
2
2
2
2
1
0
1
1
2
1
2
2
2
0
0
2
2
0
2
Джои Барклей Россер (1907-1989) — американский математик.
СДНФ Дх, Д = v /(g, ,а2) а 7 ^aJ (уНД0,0) а 70(л) а 70(у)) v °1-°212
v (/(0,1) а 70(х)л 7, (у)) v (/(0,2) л 7„ (х) л J, (у)) v (/(1,0)л J, (л) л а70(у))у(/(1Д)л7, (л) A7,(y))v (/(1,2) а7, (л)л J2(у))v (/(2,0)л J2^a л 70(у)) v (/'(2,1) л J2 ^ л J, (у)) v (/(2,2) а 72 (.х) а 72 (у)) = (2 а 70 (у) л
л 70(у)) v (1 л 70(х) л 7, (у)) v (0 л 70(л) л 72 (у)) v (2 л 7, Мл 70 6’))v
v (1 л 7, (.г) Л 7, (у)) V (1 л 7, М Л 72 (у)) v (2 л 72 Мл 70(у)) v (2 а 72 (л)л
л7,(уМ2л72Мл72(у))
Проверим, например, значение функции на наборе (1, 2):
/(1,2) = 1 = (2 л 70 (1) л J„ (2)) v (1 а 7„ (1) а 7, (2)) v (0 а 7, (1) а 70 (2)) v v (2 л 7,(1) a 7„(2))v (1 л 7,(1)л 7, (2)) v (1 л 7,(1)л 7,(2))v (2 л 72(|)л л 70(2)) v (2 л 7, (1)л 7,(2)) v (2 л 72(1)л 72(2)) = (2 л 0 л 0) v (1 л 0 л 0)v v (0 л 0 л 2)v (2 л 2 л 0)v (1 л 2 л 0) v (1 л 2 л 2)v (2 л 0 л 0)v (2 л 0 л 0)v v(2a0a2) = 0v0v0v0v0v1v0v0 = 1.
При использовании формулы (1.17.9) особо отмстим необходимость присутствия констант О, I, 2,..., к - I, чего не было в Р-,, т. к. там можно было в СДНФ опустить коэффициен ты, перейдя к дизъюнкции по наборам, на которых /(a, ,G2,...,O„ )= 1.
Если в разложении /(^ ,х2,...,Л'и) использовать характеристические функции первого рода, то для любой функции /(^,л2 ) из Рк имеет место представление, называемое второй формой;
/G,,x2,...,xJ=^j0_ („V, )д (.x^.J^ (л„ )/(с, ,G2,...,c„))modt. (1.17.10)
ОI >^2 >• - Л fi
Эта формула по структуре аналогична формуле (1.9.1).
В /с-значной логике можно рассмотреть вопрос о представимости функций полиномами (аналоги полиномов Жегалкина). При этом оказывается, что такое представление возможно только для простых /с.
Теорема 1.19. Система полиномов по mod/c полна в Рк тогда и только тогда, когда /с = р , где р — простое число.
68
В теории /с-значных логик в последнее время получены значительные результаты. Они показывают существенное отличие /<-значных логик от двузначного случая, кроме того, многие результаты зависят от значения числа /с.
Практическое занятие № 3.
Минимизация в классе дизъюнктивных нормальных форм. Замкнутые классы и полнота систем функций алгебры логики, /с-значные логики
Найти сокращенную, все тупиковые и минимальные ДНФ булевой функции /(x,y,z) двумя способами: а) методом Квайна и б) с помощью карт Карно. Каким классам Поста принадлежит эта функция? 1) /(0,0,0) = /(0,0,1)= /(1,0,1)= /(1,1,1)= 1;
/(0,0,0)=/(1,1,1)=/(1,1,0)= 0;
/(1,0,0)=/(0,1,1)=/(0,1,0)= 0;
/(0,1,1)= /(0,1,0)= /(1,0,1)= /(1,1,1)= 1;
/(0,1,1)=/(1,0,0)=/(1,0,1)= 1.
Представить х® у в виде СДНФ и СКНФ, найти (х® у)*.
Представить полиномами Жегалкина:
Основные логические операции.
х v у v z.
xyv yzv Х2.
xyz v xyz v xyz v xyz.
Доказать, что функция, представленная полиномом Жегалкина, существенно зависит от всех входящих в него переменных.
Представив функцию / полиномом, выяснить, является ли она линейной:
/ = {л>Ту)фху;
/ = Ху v xyv Z;
/ = ху(х^> у);
/ = (xv yz)®xyz.
Найти число всех линейных функций от/2 переменных.
Найти число линейных функций У^,х2,...,хп) таких, что
/(о, о,...,о)=/(i, i,..., i)=i.
Выяснить, принадлежит ли функция У множеству У \Р0:
/ = (х, ^х2 Хх2 X, Хх3 X, );
/ = т(х,,х2,х5);
/ = х,х2х3 v х,х, v х, ;
./= (x| vx2Kv-\x2 vx2.
Какие из указанных функций являются монотонными?
Aj'v xzv xz ;
х-У (х —> у);
х V у ^ х V у ;
XV у ^ ху;
ху v х v х; .
Перечислить все монотонные функции от двух переменных.
Можно ли из функции / —xyz v/(ху—> г) получить:
функцию .V отождествлением переменных;
функцию х подстановкой констант 0, 1;
функцию z отождествлением переменных?
1-18.12. Доказать полноту следующих систем функций:
ху, х;
х v у, х ;
"^у;
х ® у, х v у, 1;
5)х—у у, 0.
Показать, что полные системы из задачи 1.18.12 являются базисами.
Доказать, что базис не может содержать:
Более пяти функций.
Более четырех функций.
Из полной в Д системы функций G выделить всевозможные базисы:
G = {О, хФ _у, х—> у, ху^ xz};
G = {хФ у, ху® z, хФ ^ Ф z Ф1, хуФ yz© xz};
G = {x^v xz, x,x—> у, 0, x© yz}.
Для функции /(x,,x2,x3)= x,x2 v x, x3 найти все ее производные (в том числе смешанные) до третьего порядка включительно.
Представить следующие булевы функции значениями в точке (о, О,..., О) и значением всех производных в этой же точке:
/(x,y,z)=XVy->Z;
/(x.Fj=XVV^(xH_f):
/(х, у, z) = (х -» zXyz) -> (х -> у).
Доказать справедливость следующих равенств:
-(х)=~х;
~^+у)=(~х)+(~у);
min(x, у) + J„ (у + х) - J,,., (х) • у = min(x, у\
Для заданного к представить функцию f в первой и второй формах (полученные выражения упростить):
/ = х, к = 3 ;
/ =~х, к = 4;
/ = х+у2, /с = 3.
Разложить в полином по модулю/с функцию / из Pt:
/ = х2 + х, к = 5;
/ = тах(2х + у, х ■ у), к = 3.
1.19. Схемы из функциональных элементов. Релейно-контактные схемы, оценка сложности схем
Схемой из функциональных элементов (СФЭ) называется ориентированная бесконтактная сеть с помеченными вершинами. Пусть имеется некоторое устройство с /2 упорядоченными входами и одним выходом (рис. 1.4). На каждый из входов может подаваться два сигнала, которые можно обозначить символами 0 и 1. Очевидно, что набор сигналов на входах однозначно определяет сигнал на выходе. Такое устройство называется функциональным элементом. Ясно, что каждому функциональному элементу отвечает функция алгебры логики /(-V,, л, v..,xn). Схема из функциональных элементов получается путем проведения следующих операций:
Один из входов какого-то функционального элемента соединяется с выходом другого функционального элемента.
Некоторые входы функционального элемента отождествляются, т. е. на эти входы подается один и тот же сигнал. На рис. 1.5 изображена допустимая схема из функциональных элементов.
Ясно, что функция, которая реализуется этой схемой, является суперпозицией функций, реализуемых теми функциональными элементами, из которых эта схема построена. Схемы, полученные с помощью операций 1-2, называются допустимыми.
Вход х функционального элемента / называется фиктивным, если при любом наборе сигналов на остальных входах сигнал на выходе не зависит от сигнала на входе х. Функциональные элементы называются эквивалентными, если они отличаются лишь нумерацией входов и фиктивными входами.
Очевидно, что язык схем из функциональных элементов в целом эквивалентен языку суперпозиции функций алгебры логики. Однако при построении схем возникают некоторые ограничения:
Не могут соединяться выходы.
У схемы должен быть лишь один выход.
Нельзя соединять какой-то вход элемента схемы с выходом, т. е. ие допускаются циклы.
Совокупность элементов fKif2f->fk называется циклом (рис. 1.6), если выход элемента Jx соединен с каким-то входом элемента /2, выход элемента /2 с каким-то входом /3 и т. д., выход fk_x — с каким- то входом fk, а выход Д с каким-то входом Д . В таком случае говорят, что в соединении элементов существует обратная связь. Работа схем из функциональных элементов может происходить двумя способами. Первый состоит в предположении, что элементы схемы срабатывают мгновенно. Другое предположение заключается в том, что для получения выходного сигнала каждого функционального элемента требуется некоторое время. Тогда на входы внутренних элементов схемы сигналы могут приходить не одновременно, т. к. им необходимо пройти разное число элементов, да и время, требующееся различным функциональным элементам для обработки сигналов, может быть различным. Однако можно предположить, что сигналы подаются на входы схемы сколь
угодно долго до тех пор, пока на выходе не появится сигнал, соответствующий тем сигналам, что подаются на вход схемы. Второе предположение более соответствует реальной ситуации, однако оно требует введения времени задержки функционального элемента — времени /, которое проходит между подачей входных сигналов и появлением выходного.
Кроме того, вводится понятие такта. Время работы функциональных элементов изменяется дискретно и принимает натуральные значения 1,2,..../:,.... Единица времени называется тактом. Состояния входов и выходов элементов исследуются лишь в моменты времени, кратные такту.
Обычно при рассмотрении схем из функциональных элементов вводят упрощающие предположения, например, все схемы рассматриваются как однотактные, т. е. между сигналами на входе и результирующим сигналом на выходе происходит один такт, сигналы также можно подавать через один такт.
Схема из функциональных элементов реализует некоторую функцию алгебры логики f с задержкой Z. если ее входы можно отождествит!, с аргументами / так, что при подаче в любой момент времени на входы схемы некоторого набора сигналов на выходе через / тактов возникает сигнал, соответствующий значению функции f при значениях аргументов, отвечающих поданным сигналам. Схема, реализующая какую-либо функцию алгебры логики, называется правильной.
Схемы из функциональных элементов, работающие мгновенно, называются нулътактмыми; схемы из однотактных функциональных элементов — мно- готактными.
В общем случае при рассмотрении схем из однотактных элементов учитываются обратные связи (рис. 1.6). Оказывается, во многих случаях можно непротиворечивым образом описать работу СФЭ с обратными связями. Дальнейшее исследование этого вопроса приводит к понятию конечного автомата. Рассмотрим еще один способ реализации функций алгебры логики —релейно- контактные схемы (РКС), широко используемые в электронно- вычислительной технике. Описание и конструирование таких схем в силу их громоздкости весьма затруднительно. Однако оказалось, что при конструировании РКС можно использовать аппарат булевых функций.
Исходное замечание состоит в том, что если логической переменной х поставить в соответствие проводник, по которому идет или нет ток в зависимости от того, х = I или х = 0, то последовательному соединению проводников отвечает конъюнкция переменных, а параллельному— дизъюнкция. Часто проводники на схемах заменяют обозначением специальных устройств— переключателей, которые могут быть механическими и электрон-
ными. Многократно используя параллельно-последовательные соединения, можно строить сложные схемы. Очевидно, что при этом можно реализовать лишь монотонные функции.
Для реализации произвольных функций необходимо уметь реализовать отрицание. Это можно сделать при помощи устройства, называемого реле с размыкающим контактом (рис. 1.7). Если по обмотке катушки А ток не идет(х=0), то пружина оттягивает контакт В вверх, и цепь замыкается. В результате на клемме С будет ток (х = 1). Если же по обмотке А идет ток (х = 1), то контакт В притягивается вниз и на выходе С нет тока (х = 0).
Для РКС также существует проблема задержки сигналов на элементах схемы. Мы не будем рассматривать эту проблему, а ограничимся только схемами, в которых соединяются лишь контакты. Контакт или переключатель будем изображать отрезком или прямоугольником, концы контакта называть полюсами. Конструкция, изображенная на рис. 1.8, называется двухполюсником. Двухполюсник будем снабжать символом переменной х, если контакт замыкающий, и х, если размыкающий. Двухполюсники соединяются полюсами. В результате схема будет представлять из себя граф.
Граф Г с к полюсами, в котором каждое ребро помечено буквой из алфавита X” =^,х2,...,хя,л^,л^,...,хм), называется к-полюсной контактной схемой, реализующей булевы функции переменных х|,х2,...,х,1, или (^,п)- схемой. Контактная схема называется связной (сильно связной, параллельно- последовательной), если таковым является ее граф. Параллельнопоследовательная схема называется к-схемой. Две схемы называются изоморфными, если их графы изоморфны и при этом соответствующие ребра и полюса помечены одинаково. В графе выделяются две вершины: вход и выход. Часто вход изображает полюс в виде светлого кружка, остальные полюса изображаются темными кружками.
Релейно-контактные схемы отличаются от схем из функциональных элементов тем, что в СФЭ каждый имеющийся сигнал можно было размножить без дополнительных устройств (выход элемента можно соединять с любым числом
входов), в то время как для размножения сигнала в РКС его нужно подать на обмотку катушки с нужным числом положительных контактов. Второе различие заключается в том, что в РКС дизъюнкция реализуется путем параллельного соединения проводников, в СФЭ для этого необходим специальный элемент. Какую же функцию алгебры логики реализует контактная схема? Эта функция равна единице при тех значениях аргументов, при которых в схеме есть проводимость, и нулю, если проводимости нет. Пусть а и b — два полюса контактной схемы S, [^,^]— некоторая цепь, соединяющая а и Ъ и К[а6]— конъюнкция букв, приписанных ребрам цепи [«,^]. Функция Jab С^' )’ определяемая формулой
в которой дизъюнкция берется по всем простым цепям схемы, соединяющим полюса а и b, называется функцией проводимости между полюсами а и b схемы S. На самом деле для получения функции проводимости достаточно брать дизъюнкцию не по всем цепям, а лишь по некоторым.
Цепь Г, называется существенной. если она ни через какую вершину графа не проходит дважды. Оказывается, что дизъюнкция конъюнкций, соответствующих существенным цепям, равносильна функции проводимости. Действительно, пусть имеется некоторая цепь, в которой некоторая вершина встречается дважды. Отбросим все контакты, которые встречаются между двумя прохождениями через эту вершину. Ясно, что при этом мы вновь получим цепь, причем если все контакты исходной цепи были замкнуты, то будут замкнуты и все контакты вновь полученной цепи. Таким образом, последовательно сокращая цепь, можно получить существенную цепь, в которой будет проводимость, если была проводимость в исходной цепи.
Посмотрим теперь, как обстоит дело с обратной задачей: построением по функции реализующей се схемы. Представим функцию в виде ДНФ. Каждой входящей в ДНФ элементарной конъюнкции л^' лх®1 л.-.^х^ поставим в соответствие схему (рис. 1.9), состоящую из последовательно соединенных контактов Л'0' ■
Это схема элементарной конъюнкции. На рис. 1.9 и 1.10 величины х^’ обозначены через у,. После отождествления между собой с одной стороны входов всех этих схем, с другой стороны — выходов, получим функцию, соответствующую заданной схеме. Естественно, можно реализовать функцию по схемам также исходя из КНФ. Каждой элементарной дизъюнкции
х^' v хр v •••v ^°k поставим в соответствие схему, изображенную на рис. 1.10. Затем последовательно соединим все эти схемы для всех элементарных дизъюнкций, входящих в КНФ, так, чтобы вход последующей схемы совпадал с выходом предыдущей.
У, У?У*
О ••• ... •
Рис. 1.9
Схему, состоящую из одного контакта, называют элементарной. Ясно, что любая л-схема может быть получена из элементарных за некоторое число шагов при помощи параллельных и последовательных соединений. Каждому способу построения л-схемы из элементарных схем отвечает представление функции проводимости в виде формулы, содержащей только дизъюнкции, конъюнкции и отрицания.
Если контактная схема является л-схемой, то ее можно разбить на несколько схем, соединенных либо последовательно, либо параллельно. Обратное тоже верно. Если схема не допускает разбиения на две схемы, соединенные либо последовательно, либо параллельно, она не является л-схемой. Для примера рассмотрим схему "мостик" (рис. 1.11), которая не является элементарной. Если две схемы соединены последовательно, то у полученной общей схемы все полюсы, кроме соединяющего, либо не имеют общих контактов ни с входом, ни с выходом всей схемы, либо имеют общий контакт или только с входом, или только с выходом. Очевидно, что какой бы из внутренних полюсов на рис. 1.11 мы не приняли за соединяющий подсхемы, оставшийся полюс будет иметь общий контакт как с входом, так и с выходом схемы. Поэтому схему "мостик" нельзя получить последовательным соединением двух схем.
Если общая схема — результат параллельного соединения двух схем, то ее контакты и полюсы можно разбить на две части так, чтобы либо в одной части содержались контакты, непосредственно соединяющие вход и выход, либо полюсы, входящие в рассматриваемые различные две части схемы и отличные от входа и выхода, не будут иметь общих контактов. Ни первая, ни вторая возможность на схеме рис. 1.11 не может реализоваться. Следовательно, эта схема не является л-схемой.
Две контактные схемы называются эквивалентными, если они реализуют одну и ту же булеву функцию или одну и ту же систему функций. Схема называется минимальной, если она содержит наименьшее возможное число контактов среди всех схем, имеющих ту же функцию проводимости.
Пусть /С\,х2,....х„)—булева функция п переменных. Обозначим через Z^/) число контактов в реализующей ее минимальной схеме, а через L„ (/) — число контактов в минимальной л -схеме этой функции, тогда
Д/)</.„(/).(1.19.2)
Наибольшее значение £(/) для /(х^х,,...,^,) называется функцией Шеннона* Цп\ Величина или Ln(f) называется сложностью булевой функции f в классе контактных схем или в классе л-схем. Сложностью булевой функции f в классе формул (над множеством связок |v,a, ^называется число вхождений символов переменных. Сложность функции / в этом классе формул обозначается через L^fY
Оценим Ц11) сверху, используя индуктивный способ реализации функции.
Разложим функцию, х2 ,...,хп) по переменной хА+,:
/ = хА+|ф(х],Х2,..:,x^Jv х^у^х,,...^). Если функции ф и 6 уже реализованы, то функция f реализуется, как показано на рис. 1.12. Если для реализации функций от к переменных требуется не более ск контактов, то Для реализации / их нужно не более 1с к + 2, т. е. сА + 1 < 1с к + 2 . Так как
= 1, то q. <1к +2^* + 2^3 + ... + 22 +2 = 3-2^' -2. Итак,
Цп)<3-1"4 -1.(1.19.3)
Клод Элвуд Шеннон (|916-200!) — американский математик.
Рассмотрим теперь способ реализации функций, не приводящий к л-схемам. При построении схемы с помощью СДНФ нужно отдельно реализовать каждую элементарную конъюнкцию, а потом параллельно соединить все полученные схемы. Можно, однако, реализовать все элементарные конъюнкции одновременно. Это делается с помощью многополюсников следующим образом. Схема с к-Ь1 полюсами называется (^кУполюсником с одним входом и к выходами. На выходах (1Д)-полюсника реализуется одновременно к функций алгебры логики. Универсальным (1,2" )-полюсником называется (1,2" ^-полюсник (рис. 1.13), на выходах которого реализуются все полные правильные элементарные конъюнкции от п переменных.
Рис. 1.13
Он получается при отождествлении входов элементарных конъюнкций (рис. 1.9) или методом, изображенным на рис. 1.13. Укажем способ построения схемы для функции алгебры логики, использующий универсальный многополюсник. Пусть нужно реализовать функцию ,x2,...,xtl). Представим ее в виде СДНФ. Отождествим у универсального (1,2й )-полюсника выходы, на которых реализуются элементарные конъюнкции, входящие в СДНФ. Объявим получившийся в результате полюс выходом схемы. Эта схема, очевидно, реализует /(х,, x2v..,xn).
Можно похожим образом описать схему, реализующую любую булеву функцию J^sx2,...,xn\ разложенную в СДНФ по последним n-к переменным:
f^.-x^x^х,^ v ф (х.xjx^1 А...ах”". (1.19.4)
Wit 4-1°п)
Схема для формулы 1.19.4 состоит из двух частей (рис. 1.14): первая часть Mv представляет собой универсальный (1,2" * )-полюсник для переменных ^+| 5 xi<+2 Ч ■ Каждый выход схемы Мх соответствует некоторой элементарной конъюнкции х^1 л^2 л ...л А'”" в формуле (1.19.4). Вторая часть Мг представляет собой совокупность схем для всех 22 функций <р от к переменных Л,, л, ,...,ХА, у которых отождествлены выходы. 2 из этих функций — коэффициенты при элементарных конъюнкциях в (1.19.4).
Схема для / (.^, х2 ,...,ан ) конструируется следующим образом: отождествляется вход Mv соответствующий функции ф, стоящей коэффициентом при конъюнкциис выходом Mv отвечающим этой
конъюнкции. Если провести отождествление всех выходов Мх, получим Схему ДЛЯ фуНКЦИИ ,f(X\ ' Х2 vixnY
Рис. 1.14Рис. 1.14Рис. 1.15Рис. 1.15
Рис. 1.14
Рис. 1.14
Рис. 1.15
Рис. 1.15
Пример 1. Найти функции, реализуемые схемами на рис. 1.15.
Первые две функции представлены л-схемами, поэтому их восстановление довольно просто:
О /(^,Х2) = XjX2 V XjX2 = Л^ ЛХ^ =(^(х-2 ® |)©1Х(х, ©1)х2 ©1)® 1 =
= (х,х2 © х, © 1)- (х,х2 © х2 © 1) = X; © х2;
О f(xt,x2) = (xlvx2)^^vx2]=^7x^7x^ =
= ((Xj ©1X^2 Ф 1 )© 1 Х^^г ®0 = С^ ® Х1 ® Л2 Хх1х2 © 0 ^ А'1 ® Л2 ■
Для последнего пункта составим по формуле (1.19.1) функцию проводимости. Для этого необходимо перечислить все цепи, соединяющие начальный а и конечный b полюсы схемы: /^(х2) = /(ХрХ2) = ^7^] = Х,Х2 VX,X2 VX3X3X2 VX2^2 vx,x3x3x2 V
v xvx3x2x2 sb xxx2 v xxx2 v x2x3 = x,x2 a xxx2 a x3x2 = (x, (x2 © 1 )© 1)•
• ((%] © l)x2 © lX(x3 © l)x2 © 1)© 1 = (x, © X2 © 1X^2X3 ® ^2 ® 1)® 1 =
= X,X2X3 © X|X2 © X, © X, = X]X2 x3 © X, © x2.
Пример 2. Построить контактную схему сложности, не превышающей /, реализующую функцию /(х3 )= х, х2 © х2х3 ©© 1, 1 = 5.
Представим функцию f в базисе {v, а, ]. Если число букв окажется равным /, то построим соответствующую схему. Если же число букв будет больше /, то реализуем отдельные подформулы схемами и попытаемся совместить куски схем так, чтобы не возникло "ложных" цепей.
Так как х© у = ху v ху, то /(хрх2,х3) = х,х2 ©х2х3 ©х,х3 ©1 = = х2(х, ©Х3)©Х1Х3 = Х2(х[Х3 V^xJ® Х(Х3 =Х,Х2Х3 VX]X2X3 ©Х[Х3 = = (х]Х2Х3 VX|X2X3)r1X3 VX]X3 AX]X2X3 VX]X2X3 =X|X2X3X3 VX]X2X3X] V v(^vx3)l^"vX2 V -X3^X| V X2 V x3)— AHA‘| XIX2X3X2X3
vx,x3 VX2X3 =XjX2 VX2X3 VX]X3 =X2(x, VX3)vX]X3.
Итак, число вхождений символов переменных равно пяти. Построим теперь схему (рис. 1.16) для функции /(^) = х( х2 © х2х3 © х(х3 ©1.
Рис. 1.16
рассмотрим в заключение метод каскадов, применяемый для построения контактных схем. Пусть требуется построить схему для булевой функции /(у ,А2,...,а„ ), п > 2. Обозначим через U,, i = 1,2,...,п , совокупность всех подфункций /(o|,...,o(,aj+i,...,A/j), <у, G {0,1} у = 1,1, функции / и пусть U* - множество, составленное из попарно различных функций из Ц . Каждому множеству U;, i = Y,n — Y взаимно однозначно сопоставим множество р' точек плоскости, называемых вершинами i-го ранга. К ним добавляется еще три полюса: входной полюс а и выходные полюса b и с. Полюс а является вершиной нулевого ранга, полюса b и с — вершинами //-го ранга. Полюсу а сопоставим функцию /(х\,хо,...,хп\ полюсам b и с— константы 1 и 0. Рассмотрим множество {a,b,c}vJuK и разобьем его на классы эквивалентности, отнеся к одному классу вершины разных рангов только тогда, когда они соответствуют равным функциям.
Пусть v —произвольная вершина /-го ранга, а Фр(^(ч|,^+2,...,Л'//) — соответствующая ей функция. Если ф1,(1,А/+2,...,А?!)^(р),(0,А|+2,...,А,|), соединим вершину v ранга / контактом л^ с вершиной и ранга / +1, которая соответствует подфункции (pv(l,A/+?,...,A)z), и контактом ,у+| с вершиной И/, соответствующей подфункции (Р11(0,-У+2,..., Ау). Если же Фу(1,а|+2,..., хи ) = (pv(0, а,+2,..., хн ), то обе подфункции тождественно равны функции фу (а,+] , а,+2 ,..., а/( ) и контакты между соответствующими вершинами не проводятся. Все вершины из одного класса эквивалентности отождествляются. В результате будет получена схема S такая, что /«^(а" )=/(а71 ), a fac^n^— /(а"). Вершина с может быть удалена вместе с инцидентными ей контактами.
Построим с использованием метода каскадов контактную схему для функции /(х3)= А|Л2лз Ф а2а3 Ф а3 © 1. Выразим функцию в базисе {v,a, } и выясним, можно ли для нее построить л-схему. /(А], А'2, Аэ)= А2Х3(л| © 1)ф А3 = А^зАз ® А-3 = Л]А2А3Х3 V Л'|Х2А3Л"3 =
5 А'.ух, V (у V х2 V х3)^ = а;х2л3 V А", Х3 V Л"2Х3 V = .xrv2x3 V л3 , т. к. X© у = ху v ху. тг-схема этой функции изображена на рис. 1.17.
Рис. 1.17
Построим теперь схему методом каскадов:
7i = 3, z=l,2,3; i = 1, (/,:/(□, ,.х2,х3), /(1,х2,х3)= х3 ©1,/(О,х2,х3) = х2х3 ©х3 © 1.
z = 2, U2 : /(О1,а2,^), /(1,1,х3)=х3®1, /(1,0,х3)=х3®1,До,1,х3)=1, /(0,0,х3)=х3©1.
7 = 3, (/3/(1,1,1)=0, /(1,1,0)=1, /(1,0,1)=0,
/(1,0,0)=1, /(0,1,1)=1, /(о, 1,0)=0, /(0,0,1)=0, /(о,о,о)=1.
U* = |х3 © 1, х2х, © х3 © 1},
и; = {х3©м|, (/; = |o,ij-.
a — вершина нулевого ранга. фп (1, х2, х3) = х3 © 19* фй (0, х2, х3) =
= х2х3Фх3Ф1, следовательно, полюс а соединяется контактом х^ с вершиной 1, соответствующей функции фй (1,х2,х3)= х3 © 1, а контактом X] с вершиной 2, соответствующей функции фп (О, х2, х3) = х2х3 © х3 ©1 (рис. 1.18).
1 и 2 — вершины первого ранга фj (1, х3) = х3 Ф1, (pt (0, х3) = х3 © 1, т. е. Фр(1»х/+2,...,хл) = ф1,(0,х/+2,...,х„), и вершина 1 ни с какой другой вершиной контактами не соединяется. ф?(1,х3)=1, (р2(О>-^з)= х3 ©1, <pv(l1x,-+2,...,xn)^ фу(0,х/+2,...,хи). Полюс 2 соединяется контактом х2 с вершиной 4, т. к. Ф2(^’^з) = и контактом х2 с вершиной 3, соответствующей функции х3 © 1.
3 и 4 — вершины второго ранга. Фз(!)=О, Ф3(0)=1, т.е. фр(1,х/+2,...,х„)^ (pv(0,xl+2,...,хг1). Соединим полюс 3 с вершиной с.
. Глава 1. Алгебра логики (алгебра высказываний) 83 соответствующей функции (р3(1)=0, контактом х3.ис вершиной Ь, со- ответствую!цей функции (р3(0)=1, контактом х^ . <р4 =1, т. е. эту вершину соединять контактами с какой-либо другой вершиной не нужно.
Отождествим теперь вершины 1 и 3, 4 и b, т. к. они соответствуют равным функциям, и удалим вершину с вместе с инцидентным контактом а3.
Рис. 1.18Рис. 1.18
Рис. 1.18
Рис. 1.18
В результате получим контактную схему для функции / = xvx2x3 © л-2а3 © а3 © 1, изображенную в правой части рис. 1.18, которая эквивалентна схеме рис. 1.17, хотя и не совпадает с ней. Действительно, из рис. 1.18 и формулы 1.19.1 следует:
/(л"|, АД, А3) - А, А'з V A[A2 V А, Х2Х2 V Xj.^AM - А, А'3 V А,А2 V А, АД А3 -
V Х1Х2^3 v АД A2A 3V Х1Х2^3 v АД A2A 3А]А2А3 V А|АДА3 V А'|АДА3 VА]А2А3 V А|АДА3 V А'|АДА3 VА[А2А'з —А[А2А'з —V A । А ч A 3 —V A । А ч A 3 —
V Х1Х2^3 v АД A2A 3
V Х1Х2^3 v АД A2A 3
А]А2А3 V А|АДА3 V А'|АДА3 V
А]А2А3 V А|АДА3 V А'|АДА3 V
А[А2А'з —
А[А2А'з —
V A । А ч A 3 —
V A । А ч A 3 —
Решение логических задач
Правильно составленные логические задачи легко решаются методами алгебры логики. Для этого необходимо конкретные условия задачи записать в виде формулы алгебры логики, а затем упростить эту формулу путем равносильных преобразований. Простейший вид формулы, как правило, дает ответы на все вопросы. К одной формуле алгебры логики условия задачи сводятся разными способами, чаще всего истинные высказывания соединяются знаком конъюнкции для получения истинной формулы, упрощение которой и приводит к цели.
В логике высказываний все доказательства строятся на отношении порядка, т. е. на отношении, которое существует между причиной и следствием.
Рассмотрим несколько примеров.
■ Пример 1. Четыре студентки, имена которых начинаются на буквы А, Е,С, Р, посещают институт по очереди и ведут общий конспект лекций. Необходимо составить график посещения на ближайшую неделю, учитывая, что:
Понедельник — день самостоятельной работы на курсе, и в институт не ходит никто, а в субботу необходимо быть всем.
С и Р не смогут пойти на занятия во вторник в связи с большой загруженностью в понедельник.
Если С выйдет в среду или Р — в четверг, то Е согласится побывать на занятиях в пятницу.
Если А не пойдет в институт в четверг, то Е позволит себе сходить туда в среду.
Если А или Р будут в институте в среду, то С сможет пойти в пятницу.
Если Р в пятницу вместо института пойдет на свадьбу подруги, то А придется сходить на занятия во вторник, а С в среду.
Решение.
Обозначим все возможные комбинации распределения студенток по оставшимся дням недели именем с индексом дня недели, например, Ав, Ас, Ах ,А)-,и запишем все условия задачи в виде истинных формул алгебры логики.
Ад =1, Еп si, Cfi al, ри = 1, т. е. 4,„=0, Епн=0,
С ПН - 0 . ^пн _ ■
Св sO, Рв =0,т.е. С^з!, ^sl.
Сс v Рч —> Еп = 1.
Ач -> Ес = 1.
4г v Рс —> Сп = 1.
Рп-^АвлСч з1.
Совокупность этих условий очень быстро дает требуемый результат. Высказывания 3-6 — истинны, следовательно, истинной будет и конъюнкция этих высказываний:
^a^veJa^ vEJa^a^vcJa^- vA8ACx)^j.
Раскроем скобки и упростим полученную формулу:
(с'Т V Еу ^ V еДа^ v С, Vt V АВСХ )= ^ v •vEyA, v^EcvE, Ec^P"cP, vNyPy v^"FcABCx vN,ABCx\ Очевидно, что логическое слагаемое, содержащее одно имя с разными индексами (днями недели), равно нулю, т. к. студентки по условию задачи ходят в институт один раз в оставшиеся пять дней недели.
ЕХа vE, A, vN^E^F’.P, v^AflCx^X ААрК v
VE} ^ А^РСР] vN^PxEcAcPcP1 ^ДГДА^А^^ Ад ^ л ^^
vN^PxEcAcPcABCx = CcRxAxAcPcP1 vN^PxEcAcPcP] vv^v^^cAr^cAi^x 5CcPx A^P^A^Pj v ECP; v EcABCx^ = L
Итак, имеем следующую систему тождеств:
=1,
-^хА v EcPj vEcABCx = 1,с^о, Ps=0.
Для быстрого решения этой системы составим вспомогательную таблицу (табл. 1.20.1).
Таблица 1.20.1
Вторник
Среда
Четверг
Пятница
Ав
Аг
Ах
Ап
Ев
Ес
Е,
Еп
св
Сс
С-,
сП
Рв
Рс
Рв
Рп
Св = О, Рв = О из третьего условия. Из первого условия СсРч АСРС = 1 следует, что Сс = 1, Рч = 1, ^=1, Рс = 1, т. е. Сс = 0, Рч = 0,= 0, Рс = 0. Тогда из второго столбца таблицы
очевидно, что Ес = 1, но тогда ЕВ = ЕЧ = Еп = 0.
Далее первый столбец дает Ав = 1, т. е. Af s Ап = 0, аналогично из третьего столбца получаем Су = 1, следовательно, Сп = 0 и, наконец, Рп = 1. Таким образом, Ав = Ес = Сч = Рп = 1, расписание составлено. Второе условие системы тождеств также выполняется, у дизъюнкции два истинных логических слагаемых: Ес Рп = ЕсАвСч = 1.
■ Пример 2. Однажды следователю пришлось одновременно допрашивать трех свидетелей: Клода, Жака и Дика. Их показания противоречили друг другу, и каждый из них обвинял кого-нибудь во лжи.
Клод утверждал, что Жак лжет.
Жак обвинял во лжи Дика.
Дик уговаривал следователя не верить ни Клоду, ни Жаку.
Но следователь быстро вывел их на чистую воду, не задав им ни одного вопроса. Кто из свидетелей говорил правду?
Решение.
Обозначим буквами К — Клода, Ж — Жака и Д — Дика и запишем условия задачи.
^лЖ^^лж)^!.
(жлд)у(ДлЖ>1.
Как и в предыдущей задаче, результат находится путем равносильных преобразований. Сначала упростим условия задачи:
^лЖ)у^лЖ^=^К^^\куЖ^^^ЦКуЖ^уЗс)= sKKvKЖvKЖvЖЖsKЖvKЖ = l■
(ЖлД)v(дvж)=(ЖvД^ДvД)(жvж)(Дvж)г(ЖvД)(5vж)г = ЖДуДДуЖЖуДЖ=ЖДуДЖ = 1;
^ л (/< л Ж^ <54Kv Ж^ДKЖv flKv ДЖ.
Конъюнкция этих трех формул тоже будет истинна.
(кж V Кж\жД V Дж\цКЖ уДКу ДЖ^
= (КЖЖД v КЖЖД v КЖДЖ V КЖДЖ^АЖЖ v ДК v ДЯД
= КЖДДКЖ V КЖДДКЖ V КЖДДК V КЖДДК V КЖДДЖ V ^КЖДДЖ = КЖ"Д = \.
Итак, Жак говорит правду, Клод и Дик лгут.
Практическое занятие № 4.
Реализация булевых функций схемами и формулами. Решение логических задач
Пусть система функциональных элементов Ф состоит из элемента задержки ф], реализующего х, и элемента Шеффера <р2> реализующего л]у = л-у. Построить схемы, реализующие: а) л*: б) ху; в) х v у; г) 1: д) 0; с) л© у . Указать величину задержки.
Найти функции проводимости для схем, изображенных на рис. 1.19.
Рис. 1.19
Какие из указанных на рис. 1.20 соединений являются схемами?
Реализовать релейно-контактными схемами функции: a) xyvz;
xyv zt; в) xyv yzv xz.
Реализовать контактными схемами следующие функции:
а) (у v z) —> ху; б) ху «-> ух; в) х © у © z •
Построить -л-схемы для формул: a) (xv yz^xyv zt);
^ v 2)v ^
Найти функции, реализуемые контактными схемами, изображенными на рис. 1.21.
Составить л-схемы для формул: a) x^yzv yz)v ^zv yz);
l1^ уЬ Су-> z))^ (х^ z);
штрих Лукасевича хХ у (читается "ни х, ни у"), которое истинно в том и только том случае, когда оба высказывания ложны.
Упростить следующие релейно-контактные схемы (рис. 1.22).
С использованием метода каскадов построить контактную схему для функции / : а) У (л:3) — Ф х2 © х; © 1;
/(^4=-VY2v-VY3 V-Y3-V
Брауну, Джонсу и Смиту предъявлено обвинение в соучастии в ограблении банка. Похитители скрылись на поджидавшем их автомобиле. На следствии Браун показал, что преступники были па синем "Бьюике", Джонс сказал, что это был черный "Крайслер", а Смит утверждал, что был "Форд" и ни в коем случае не синий. Стало известно, что. желая запутать следствие, каждый из них указал правильно либо только марку машины, либо только ее цвет. Какого цвета был автомобиль и какой марки?
На вопрос, кто из трех студентов изучал логику, был получен ответ: если изучал первый, то изучал и третий, но неверно, что если изучал второй, то изучал и третий. Кто изучал логику?
1-21.13. Определить, кто из четырех студентов сдал экзамен, если известно, что:
Если первый сдал, то и второй сдал.
Если второй сдал, то третий сдал или первый не сдал.
Если четвертый не сдал, то первый сдал, а третий не сдал.
Если четвертый сдал, то и первый сдал.
Для полярной экспедиции из восьми претендентов А, В, С, D, E,F,G и Н надо отобрать шесть специалистов: биолога, гидролога, синоптика, радиста, механика и врача. Обязанности биолога могут выполнять Е и G, гидролога В и F, синоптика F и G, радиста С и D, механика С и Н, врача А и D. Хотя некоторые претенденты владеют двумя специальностями, в экспедиции каждый сможет выполнять только одну обязанность. Кого и кем следует взять в экспедицию, если F не может ехать без В, D — без 7/ и без С, С не может ехать одновременно с G, а А не может ехать вместе с В^
Виктор, Роман, Юрий и Сергей заняли на математической олимпиаде первые четыре места. Когда их спросили о распределении мест, они дали три таких ответа:
Сергей — первый, Роман — второй.
Сергей — второй, Виктор — третий.
Юрий — второй, Виктор — четвертый.
Как распределились места, если в каждом из ответов только одно утверждение истинно?
Известно следующее: если Петя не видел Колю на улице, то либо Коля ходил в кино, либо Петя сказал правду; если Коля не ходил в кино, то Петя не видел Колю на улице, и Коля сказал правду; если Коля сказал правду, то либо он ходил в кино, либо Петя солгал. Выясните, ходил ли Коля в кино?
Четыре друга Антонов (А), Вехов (В), Сомов (С) и Деев (Д) решили провести каникулы в четырех разных городах— Москве, Одессе, Киеве и Ташкенте. Определить, в какой город должен поехать каждый из них, если имеются следующие ограничения:
Если А не едет в Москву, то С не едет в Одессу.
Если В не едет ни в Москву, ни в Ташкент, то А едет в Москву.
Если С не едет в Ташкент, то В едет в Киев.
Если Д не едет в Москву, то В не едет в Москву.
Если Д не едет в Одессу, то В не едет в Москву.
В школе, перешедшей на самообслуживание, четырем старшеклассникам: Андрееву, Костину, Савельеву и Давыдову поручили убрать
7-й, 8-й, 9-й и 10-й классы. При проверке оказалось, что Ю-й класс убран плохо. Не ушедшие домой ученики сообщили о следующем:
Андреев: "Я убирал 9-й класс, а Савельев — 7-й".
Костин: "Я убирал 9-й класс, а Андреев — 8-й".
Савельев: "Я убирал 8-й класс, а Костин — 10-й".
Давыдов уже ушел домой. В дальнейшем выяснилось, что каждый ученик в одном из двух высказываний говорил правду, а во втором ложь. Какой класс убирал каждый ученик?
Глава 2
Исчисление высказываний*
Язык, система аксиом и правила вывода исчисления высказываний
Исчисление высказываний как формальную теорию можно определить с помощью аксиоматического метода, который характеризуется следующими тремя частями:
Явная формулировка исходных аксиом той или иной теории.
Явная формулировка правил вывода, используемых для последовательного построения этой теории.
Использование искусственно построенных формальных языков для изложения всех теорем рассматриваемой теории.
В понятие исчисления входят такие компоненты, как формальный язык исчисления, аксиомы исчисления и правила вывода. Они позволяют дать строгое математическое определение понятия доказательства и получить точные утверждения о возможности или невозможности доказательства тех или иных предложений теории.
В любом исчислении различают синтаксические и семантические вопросы исчисления. В синтаксической части изучают понятие доказательства (теория Доказательств), в семантической— структуру формальных языков (теория моделей).
Исчисления позволяют формализовать многие разделы математики и других наук. Исчисление высказываний — это аксиоматическая логическая система, описывающая тождественно истинные схемы, а ее интерпретация — алгебра высказываний.
•Излагаемое исчисление называется в литературе исчислением П. С. Новикова. Петр Сергеевич Новиков (1901 -1975) — советский математик.
Описание всякого исчисления включает в себя описание его алфавита, формул, являющихся конечными конфигурациями символов, аксиом и правил вывода.
Множество абстрактных букв называется алфавитом. Конечный ряд написанных друг за другом букв алфавита называется словом в этом алфавите. Слово, не содержащее ни одной буквы, называется пустым и обозначается символом Л. Два конкретных слова аха2..ли и b{b2,.b алфавита А равны, если аА=Ьи а2=Ь2,..., ап=Ьп. Если аха2..ди— слово алфавита А, состоящее из п букв ах ,а2,...,а, то число п называется длиной этого слова.
Два слова аир определяют слово ар , которое получается приписыванием к слову а слова р. Слово ар называется соединением слов а и р. Очевидно, что для любых слов аир имеем Ла = аЛ = а, аЛр = ар . Слово а алфавита А называется подсловом слова р этого же алфавита, если Р = уа8 для некоторых слов у и 8. Может оказаться, что р = уа8 = у । aS, и у ^ у,. В этом случае говорят о различных вхождениях подслова а в р .
Алфавит исчисления высказываний состоит из объединения четырех множеств а = о, Uo2 Ua3 Uo4, где ах = {a,b,...,z, Ах ,В2 ,...,2пУ □ 2={x,v,—>, }, a3 = {(,),,}, о4 = {[-). ДРУГИХ символов в алфавите исчисление высказываний не содержит. Буквы множества о( называются пропозициональными переменными. Символ |— называется символом следования.
Формулой исчисления высказываний называется слово алфавита исчисления высказываний, удовлетворяющее следующим условиям:
Пропозициональная переменная является формулой, которая называется элементарной, или атомарной.
Если А и В формулы, яо (ЛлВ), (AvS), (А->В) И А— тоже формулы.
Никакое другое слово формулой исчисления высказываний не является. Из этого определения следует, что (Av В)лС— не формула, т. к. она не имеет внешних скобок. Однако в целях сокращения записи очень часто внешние скобки опускают.
Подформулой А формулы В исчисления высказываний называется подслово В, являющееся формулой.
Теорема 2.1. Всякая неатомарная формула А исчисления высказываний представима в одном н только в одном из следующих видов: (ВлС), (Sv С), (S^C) или В для однозначно определенных формул В и С.
Секвенциями называются выражения следующего вида:
А^А^-Л, нА, где п > О, А,, А2,..., Ап, А— любые формулы.
Читается "из А^А2,...,Ап следует А".
V-В . Читается " В доказуема".
Ан А2,..., Ап ь, п > 0. Читается "система Av,Alv..,An противоречива".
Если формулы исчисления высказываний можно рассматривать как формы сложных высказываний, то секвенции являются формами утверждений и теорем, в которых можно отчетливо выделить условия (посылки) и заключения.
X15X,„..,Xt
Правилом вывода называется выражение вида , где
Х^Хз^.^Х^Х — произвольные секвенции. Выражение X называется непосредственным следствием секвенции XpX2,...,Xt поданному правилу вывода.
Исчисление высказываний определяется своей схемой аксиом и правилами вывода. Схема аксиом состоит из одиннадцати формул, поделенных на четыре группы.
1. х —> (у —> х),
(х-> (у z))-> ((ху)^ (х г)).
п. 3. л л у —> л;
х л у —> у;
(z -> х)-> ((г -> у)-> (z -> х л у)).
Ш. 6. х —> х v у;(2.1.1)
y->xvy;
(хz)—> ((уz)-> (х v у —> ?)).
IV. 9. (х->у)-^->х);
х —> х;
Все правила схемы проверяются непосредственно.
Г,|-А;Г2|-ДГ,,Г2|-(АлВ)Г,|-А;Г2|-ДГ,,Г2|-(АлВ)Правил вывода в исчислении высказываний довольно много. Среди них выделяются основные и производные правила. Перечислим некоторые из них, которые впоследствии будем использовать без доказательства. Пусть ГрГ2,Гз,Г— конечные последовательности формул, возможно пустые, А, В, С —любые формулы. Тогда справедливы следующие правила вывода исчисления высказываний:
Г,|-А;Г2|-Д
Г,,Г2|-(АлВ)
Г,|-А;Г2|-Д
Г,,Г2|-(АлВ)
правило введения конъюнкции; здесь и далее
г.-г^г, иГ2 —объединение последовательностей формул.
Г|-(Алй)П-АГ|-(Алй)П-АГ|-(АлВ)
Г|-(Алй)П-А
Г|-(Алй)П-А
—— удаление конъюнкции.
1Н
Г|-А Ц-S
—введение дизъюнкции.
I|-(AvB) Г|-(ЛуВ)
4.4.Г||-(АуЗ);Г2,а|-С;Гэ,3|-С ■'—удаление дизъюнкции.
4.
4.
1 Д 2» ^з! ^
г,д|-в
^' тН—ГаdY — введение импликации (теорема дедукции).
Г,|-(А —> В);Г2|-А
—- ^"i— — удаление импликации (правило заключения).
1 191 2I- °
(2.1.2)(2.1.2)Г,А|-
(2.1.2)
(2.1.2)
—введение отрицания.
Г,А|-
■=>—— —удаление отрицания.
rJ-A;F2|-A
—।— сведение к противоречию.
~j—~—правило утончения.
11
И" АГ,В|-А
— правило расширения.
ГЪЛЛПке _
12' г„й,лг2|-с
правило перестановки.
ГрЛЛГ^-С
'i—~- — правило сокращения.
Г|, А, Г2|- С
Правила вывода исчисления высказываний формализуют определенные стандартные логические способы рассуждений. Правило вывода называется допустимым в исчислении высказываний, если его добавление в исчисление не расширяет множество доказуемых секвенций.
Основных правил вывода в исчислении высказываний два: правило подстановки и правило простого заключения. Если формула А доказуема в исчислении высказываний, х — переменная, В — произвольная формула исчисления высказываний, то формула, получающаяся в результате замены в формуле А переменной л всюду, где она входит в формулу А, формулой В, является также доказуемой формулой. Это правило подстановки.
Символически оно записывается так [(a), т. е. если А^х) выводимая
формула, то замена л* на В тоже дает выводимую формулу, или
если А(х) доказуема, то A(s) тоже доказуема. Частные случаи формулы вввв
J(A) могут быть, например, такие J(x)=B, J(y)=y, J(a)=A,
вв в вв
^a?>^Wa^Va^, где под знаком * понимается любой
из символов л, v, —>. Эти подстановки очевидны.
Второе основное правило вывода в исчислении высказываний называется I- А;\-А^В правилом простого заключения (ППЗ). Оно имеет вид : и
г5
читается "если формулы А и А —» В доказуемы, то формула В тоже
доказуема". Правило широко распространено и известно очень давно, на латыии оно называется modus ponens.
Аксиомой называется всякое выражение, полученное из схемы аксиом I—IV подстановкой вместо переменных х, y,z конкретной формулы.
Линейным доказательством (выводом) в исчислении высказываний называется конечная последовательность секвенций El,S2v..,Et1 такая, что для каждого i, 1 < i < k, Xz есть либо аксиома, либо непосредственное следствие предыдущих секвенций по применяемым в исчислении правилам вывода. Секвенция X называется доказуемой в исчислении высказываний или теоремой исчисления, если существует доказательство Х|,Х2,...,ХА_, у которого Хл. = Х. Формула А называется доказуемой, если доказуема секвенция |- А.
Очевидно, что всякая секвенция является деревом; если DvDI,...,Dk— деревья и X — секвенция, то —также дерево. Одна и та же
секвенция может входить в дерево несколько раз. Дерево может иметь много начальных секвенций, но заключительная секвенция только одна.
Дерево D называется доказательством в исчислении высказываний в виде дерева, если все его начальные секвенции— аксиомы, а переходы — применения допустимых правил вывода. Если X является заключительной секвенцией' доказательства D в виде дерева, то D называется доказательством X в виде дерева или деревом вывода X в исчислении высказываний.
Схема секвенций называется доказуемой в исчислении высказываний, если ее добавление к исчислению в качестве схемы аксиом не расширяет множество доказуемых секвенций. Это эквивалентно тому, что все частные случаи этой схемы будут доказуемы в исчислении высказываний.
. Некоторые дополнительные производные правила вывода
Из списка перечисленных тринадцати правил вывода (2.1.2) некоторые практически всегда применяются при доказательстве теорем. Рассмотрим доказательство еще нескольких правил вывода. Они получаются с' помощью
правил подстановки и простого заключения и поэтому являются производными от них.
Правило одновременной подстановки.
Пусть /А — доказуемая формула; x(,x2,..., хн — переменные, а В„Вг>>В„— любые формулы исчисления высказываний. Тогда результат
одновременной подстановки в А вместо .Хр^,...,^ соответственно формул
5рВ2—Во является доказуемой формулой, т. е.5рВ2—Во является доказуемой формулой, т. е.вх,вгВ„Лл)вх,вгВ„Лл)СпособСпособ
5рВ2—Во является доказуемой формулой, т. е.
5рВ2—Во является доказуемой формулой, т. е.
вх,вгВ„
Лл)
вх,вгВ„
Лл)
Способ
Способ
доказательства очевиден. Формула выводится применением правила простой подстановки последовательно ко всем переменным по порядку.
Правило сложного заключения.
Если формулы А,, А,..., А, и Д —> ^А2^А3(.*-1Д, —> в)...)))
доказуемы, то и формула В доказуема, т. е.
[-Д;|-А;...,|-Д,;|-Д -> (л -у (а, (...(д, -у в)...)))
Действительно, если по условию доказуемы формулы А, и д-у (а,-у (а3-у (...(д,-у в)..,))). то по правилу простого заключения будет выводима формула А2 ™> (Дз(Д, —>#)■■-)). Далее, аналогично
рассуждая, заключаем, что если выводимы А2 и А, ~> (А —> (...(д, -> вУ..^, то выводима и формула Д —> (—(Д, —> в)...). Продолжая такие рассуждения п раз, получим, что формула В доказуема. 3. Правило силлогизма.
Если доказуемы формулы А В и ВЕсли доказуемы формулы А В и ВА —> С, т. е.А —> С, т. е.|-A^g;|-B|-A^g;|-B-^С-^С|-А->С|-А->С—> С, то доказуема и формула—> С, то доказуема и формула
Если доказуемы формулы А В и В
Если доказуемы формулы А В и В
А —> С, т. е.
А —> С, т. е.
|-A^g;|-B
|-A^g;|-B
-^С
-^С
|-А->С
|-А->С
—> С, то доказуема и формула
—> С, то доказуема и формула
Для доказательства возьмем две первые аксиомы и сделаем в нихсоответствующие замены. К первой аксиоме применим следующую
подстановку:подстановку:8 7(л —> (ух)) = |- (В —> С) —> (А —> (В —> С)).
подстановку:
подстановку:
Вторую аксиому преобразуем так
- /(* О' 2$Н ((х ->;>,)-> (х -> z))s|-(j -» (Д -» С))->
^(А^в'Н^С^.
По правилу простого заключения:
|-Я-» С;|-(д —» с) —»(А —»(д-» с))
|-А—>(В—>С)’
аналогично
|- А —> (Д —» С); |— (А(Д -> С)) -» (U -^B^U^ С))
|-(а->д)->(а->с)'
Наконец, применяя еще раз правило простого заключения, находим |-А -> Д;|-(А -> Д) -> (А -> С)
. Итак, формула А —» С выводима при
данных предположениях.
Правило контрпозиции.
Если доказуема формула А —> В, то доказуема и формула В —> А, т. е.
|-А-> Д
|-Д-> А'
Правило доказывается очень просто с использованием только одной формулы из списка аксиом исчисления высказываний, а именно девятой аксиомы (х —» у) —> (у —> х). Сделаем в ней следующую замену переменных:
- / ^^^^х^ЦЦа^в'н^аУ
По правилу простого заключения
|-А—>Д; |-(А-> д)-»(5->а)
|-Д—>А’
т. е. исходная формула доказана.
Правило снятия двойного отрицания.
^дн доказуема формула А —> В, то доказуема формула А —> В, наоборот,
если доказуема А ^ В, то доказуема формула А —» В, т. е.если доказуема А ^ В, то доказуема формула А —» В, т. е.-А^В-А^В-А^В-А^В
если доказуема А ^ В, то доказуема формула А —» В, т. е.
если доказуема А ^ В, то доказуема формула А —» В, т. е.
-А^В
-А^В
-А^В
-А^В
-А^В
Воспользуемся десятой и одиннадцатой аксиомами и проведем в нихВоспользуемся десятой и одиннадцатой аксиомами и проведем в ниханалогичные подстановкианалогичные подстановкиТогда по условию и по правилу силлогизмаТогда по условию и по правилу силлогизма-|^х)^|-В^В.- А —> В;|-В —> В\-А^В И-|^х)^|-В^В.- А —> В;|-В —> В\-А^В И|-А—> А;|-А -^ В|-А—> В|-А—> А;|-А -^ В|-А—> В
Воспользуемся десятой и одиннадцатой аксиомами и проведем в них
Воспользуемся десятой и одиннадцатой аксиомами и проведем в них
аналогичные подстановки
аналогичные подстановки
Тогда по условию и по правилу силлогизма
Тогда по условию и по правилу силлогизма
-|^х)^|-В^В.
- А —> В;|-В —> В
\-А^В И
-|^х)^|-В^В.
- А —> В;|-В —> В
\-А^В И
|-А—> А;|-А -^ В|-А—> В
|-А—> А;|-А -^ В|-А—> В
Доказательства для пяти приведенных правил могут быть записаны в виде деревьев:
।^(^|,^2’"-’Л«)
Г|- А^Вх,хг,...,х„^
Г|-А(В,,В2,...,В„).
Ф А,, Г|- А, (А,(А3 -4 ...(А, ч В)..))
'г|-а2->(а3->...(д,->в)..),г|-а2
ФаФГафа:
г|-в —> с,г|-(в —> с)—> (а —> (в —> с))
3
Г|-(А -> в) -^ (а -> с),Г|- А -> ВГ|- А-^С
где Ф, = (А —> (В —> С))-> ((А ^ д)-> (А -^ С)).
г|-А В, г|-(А-> в)-> ^-» а)Г|-В->А
Приемы доказательств, подобные уже приведенным, применяются для получения правил вывода из совокупности формул.
Пусть Г — произвольная конечная совокупность формул, т. е. Г = {Д,А2’"чAil- Выводом из совокупности формул называется всякая конечная последовательность формул, любой член которой удовлетворяет следующим условиям.
Всякая формула Д е Г выводима из Г, т. е. фд (а„а2,...,д.,...,а,,|-д).
|-в
Всякая доказуемая формула выводима из Г, т. е. —: или
А,А»--»Аг ^
I-S
г|-в
Если С и С —» В выводимы из совокупности формул Г, то В также Г|-С;Г|-С^В
выводима из Г, т. е. —-— формула, аналогичная правилу
Г|-5
простого заключения.
Очевидно, что класс формул, выводимых из Г, совпадает с классом доказуемых формул (см. разд. 2.1), если Г содержит только доказуемые формулы. Если же Г содержит хотя бы одну недоказуемую формулу, то класс формул, выводимых из Г, шире класса доказуемых формул.
Из определения выводимой формулы и вывода из совокупности формул следуют очевидные свойства вывода:
Всякий начальный отрезок вывода из Г есть вывод изГ.
Между двумя соседними членами вывода из Г можно вставить любой вывод из Г.
Всякий член вывода из Г является формулой из Г.
Если Г, С Г,то всякий вывод из Г( является выводом из Г.
Для того чтобы формула А была выводима из Г, необходимо и достаточно, чтобы существовал вывод А из Г.
рассмотрим еще несколько правил, при доказательстве которых используются свойства вывода.
Правило расширения.
—, т. е. если А выводима из Г, то она выводима и из ГиИ''. где
Г и W — некоторые конечные совокупности формул.
Пусть Г, = Ги W , тогда Г С Г и вывод из Г есть вывод из Г,, т. е. если Г|— А, то и rj— А, что доказывает данное правило вывода.
Г,с|- А; Г|-С
Правило удаления выводимой гипотезы .
Это правило доказывается включением в вывод из Г вывода из С. Пусть совокупность формул Г,С = {ВрВ2,...,Вн_р а}, а Г= {CpC2,...Cw,c}. Если в первом выводе пет С, то он является только выводом из Г и Г|— А. Если же в SM В2v..,Bn_x, /А присутствует С. то вместо С в В1,Вг,...,Вп_1,А вставим CpC2,.-.Cw,C. Это можно сделать в соответствии с определением вывода, тогда получим вывод только из Г и Г|—А.
Правило удаления импликации.
Г|-С—>А
Это правило обратное теореме дедукции р-^—' Здесь дано Pj— С—>А,т. е. существует выводиз Гтакого типа
Г: Ар А,,..., А;_рСА. Перейдем теперь к объединению формул Г. С = ГиС. Тогда к предыдущему выводу можно присоединить формулу С, т. е. Г,С:--^ А,С. Но тогда по правилу
|- С;1-С^А
простогозаключения;,т. е.
|-А
Г, С : Ар А2,..., А;Ч, С —> А, С. А . Это доказывает исходное правило
удаления импликации.
Рассмотрим теперь несколько примеров на выводимость формул.
Пример 1. Показать выводимость формулы A v В —> А л В .
Воспользуемсясначалавосьмойаксиомой
(х —> z) —> К? —> z)~> U v у —> z)), сделав в ней следующую
А^лКв
замену: I((х -> z)-» ((у -> z)-> (х V у -> z))).
Получим доказуемую формулу
|- (а -» АлВ^ ((в -> Алв)-> (а V В -> Алв)).
Аналогичные операции проведем с третьей и четвертой аксиомами
А.В- j( х л у-^ х) = |-А л 5 —» А,А.В- j( х л у-^ х) = |-А л 5 —» А,А,В^хлу-У у^Ц-АлВ^ Ва уА,В^хлу-У у^Ц-АлВ^ Ва у
А.В
- j( х л у-^ х) = |-А л 5 —» А,
А.В
- j( х л у-^ х) = |-А л 5 —» А,
А,В
^хлу-У у^Ц-АлВ^ В
а у
А,В
^хлу-У у^Ц-АлВ^ В
а у
и применим к двум последним формулам правило контрпозиции:
|-АлВ—»А|-АлВ—>В
I — И 1—
-Ф,;|-Ф2;_|-Ф3-Av В -у Алв'-Ф,;|-Ф2;_|-Ф3-Av В -у Алв'\-А-^АлВ \-В^АлВ
-Ф,;|-Ф2;_|-Ф3
-Av В -у Алв'
-Ф,;|-Ф2;_|-Ф3
-Av В -у Алв'
Теперь по правилу сложного заключения имеем
где Ф, = А —> А л В, Ф2 = В —> А л В,
Ф3 = (А-» А л в)-^ ((в-» А л в))-> (A v ВА л в)
Итак, формула A v В —» А л В доказуема. Она является одной из форм закона двойственности в алгебре логики.
Пример 2. Доказать, что Г = { А}|- В —> А — секвенция.
Имеем Г: Ff- А. Возьмем первую аксиому х —> (у —> х) и сделаем в А.В
ней подстановку J (х —> (у —> х)), получим доказуемую формулу •АУ
А —>^В—> С). Теперь по правилу простого заключения сразу |-А;|-А->(В->А) получаем конечный результат:— .
■ Пример 3. Доказать, что Г = (А —> S,Sj-А —секвенция.
Дано Г|- А —> В, Г|- В, Возьмем девятую аксиому (х —» у)(ух) и проведем следующую замену переменных:
- I ((ху)-^ (у x))s |-(д —> g)^ (у —> а), Для достижения
конечного результата необходимо дважды применить правило простого
]-А —> S;[-(AВ) -^(5 а)|-В;|—В—>А
заключения j;——= и 'i—=.
\-В -^А|- А
Пример 4. Доказать, что г = {а —> з}|- (с а) (с в\
Дано Г|— А —> В. Используем первую аксиому х—>(у—»х).
ПодстановкаПодстановкаА7(-^ (у -> ^)) = I- (^ ^ 8) (С (А S)). По
Подстановка
Подстановка
правилу простого заключения
|-А —> В;|-(А —> в) —> (С —> (А —> В))
I-C-^(a^B)
Воспользуемся теперь второй аксиомой, проведя в ней следующую
замену переменных:замену переменных:- J((^G —> z))-* «JCу)-* (а-г))) =
замену переменных:
замену переменных:
= |-(с —> (а —> В)) -» ((с ^ А) ^ (с -^ в)).
Еще один раз modus ponens
|-С —> (А —> В);|-(С —> (А —» В)) —> ((С —> А) —> (С —> В))
|-(с->а)->(с-»в)
Пример 5. Доказать следующее правило вывода: i— ". Сначала
|- Ал В
— J (х л у —>x) = j— Ал В—>А. Теперь по правилу контрпозиции
\-АлВ->А
\-А^АлВ’
наконец,
по правилу простого заключения
А^АлВ
-A^B
2.3. Теорема дедукции и другие законы исчисления высказываний
Теорема дедукции
Правило введения импликации носит название теоремы дедукции и имеет
Г,С|-А следующий вид: zj" .
Докажем эту теорему подробно методом математической индукции по длине вывода. Пусть Г,С = {д, Д,..., Д }— вывод из исходной совокупности формул. Сначала покажем, что для любого подобного вывода справедливо Г|—С —> А,,. В дальнейшем в роли Д, которая может быть получена при выводе из Г, С любым дозволенным методом, может выступать А.
При и = 1 вывод формулы А из Г, С имеет вид Г,с|— А, , т. е. формула А совпадает с А,. Согласно определению вывода возможны три случая:
А, е Г.
Д —доказуемая формула из множества Г.
А, = С.
В первых двух случаях имеем Г,— А, . Тогда вывод из Г можно написать в виде Г:Д, А,—>(С—>4^ С—>Д . Таким образом, /| | -,г—»(.у—»л),по простому заключению
г|-С—>Д. В третьем случае имеем Д=С, и надо доказать, что Г|— С —> С, но формула С —> С доказуема в любой совокупности формул.
Действительно, |- С,|- .х—> (j —> х),|- С —> (С —> С),
|-С;|-С -> (С —> С)
Пусть теперь теорема справедлива при 1<п-\; докажем, что она справедлива и при i = п . Здесь вывод из исходного множества формул имеет вид Г,С = {Д, А^..., Д,}. Однако теперь для формулы Ан появились дополнительные возможности, а именно, она может определяться как:
Д, е Г;
Д — доказуемая формула;
А^С;
Д, получается по правилу простого заключения из любых двух
„ ,|-aJ-a^a,
предшествующих ей формул, т. е. j, причем вторая
г А,
формула в правиле простого заключения (обозначим ее А ) должна иметь вид А, = Д —^ Д,. Для первых трех случаев доказательство полностью аналогично уже рассмотренному, только индекс "единица" надо заменить на и. В четвертом случае А( получено по правилу простого заключения из Д. и А. = Д Д. При этом вывод из Г может быть таким г = {Д,АаМ-Х.-Л. А^(с^А) - с-^А
/рл—»(v—>л).нопросгому заключению
сAj ,с->(а->А,)-
аналогично
предыдущему
Последняя формула в выводе имеет такой вид в силу допущений пункта 4, Т.к. |-С^Л, ,а AZ = A -У А,-
Возьмем теперь вторую аксиому (х —> (у -> г)) -> ((х -> у) -> (х -> г)) и С. А,,
сделаем в ней подстановкуJ((л —> (у —> г))—> ((х —> у)—> (х —> .-))).
Получим доказуемую формулу
|-(с^ (4 ^ 4)Ь ((с^ 4)^ (с^ 4)).
Тогда по правилу сложного заключения
|-с->4;|-С->(4->4),|-(с->(4->4,))->((с->4)->(с->4,))|-с^4,
Итак, доказано, что Г|— С —> Д1 , причем Д может определяться четырьмя указанными способами.
Вернемся теперь к началу теоремы. Пусть Г, С^— А. Тогда Г,С: Д, A2,...,4i-p Д т. е. роль Д играет А. Тогда по предыдущему доказательству Г|— С —> А и теорема дедукции доказана.
Обобщение теоремы дедукции
Д,Д,А3,...,Д1-А
Справедлива формула ,-,;-.г—гг. Докажем ее.
I™ А \А(4 —> —(ЛАу..))
итак, г = {4,4,..„4}, г|-л. но г = {4,4,...,4,.,}и{4,}=г,н,4, и Г,и,4,М- Tc,raa по теореме дедукции справедливо Г„_} |— Д —> А. Аналогично множество ГяЧ можно представить в виде Гл_] = Г 2, Дч, тогда Гп_2|- Дч —» (Д —> А) и т. д. Применив эту процедуру п раз, получим |- Д —^Д—^Д —> ...(Д —> Л)..)).
В частном случае при п = 1 получим !. Эта же формула
получается и из простой теоремы дедукции, если Г, С = {/^ }.
Закон перестановки посылок
|-(И^(Д^С))^(8^(И^С)).
Рассмотрим множество формул Г = {Л —» (В —^ С), А, В}. Из этой совокупности формул после применения дважды правила простого
заключениянаходим:В^С , Сдо простому заключению по простому заключению[■nJ-zMa-oc)\-в,\-в-»с\-в^>с|-сзаключениянаходим:В^С , Сдо простому заключению по простому заключению[■nJ-zMa-oc)\-в,\-в-»с\-в^>с|-сГ-.А^^В^С^А.В,Теперь применим обобщеннуюГ-.А^^В^С^А.В,Теперь применим обобщенную
заключениянаходим:
В^С , Сдо простому заключению по простому заключению[■nJ-zMa-oc)\-в,\-в-»с
\-в^>с|-с
заключениянаходим:
В^С , Сдо простому заключению по простому заключению[■nJ-zMa-oc)\-в,\-в-»с
\-в^>с|-с
Г-.А^^В^С^А.В,
Теперь применим обобщенную
Г-.А^^В^С^А.В,
Теперь применим обобщенную
а-^в^с\в,а-с
ЦА->(В->С^ЦА->(В->С^теорему дедукции:
ЦА->(В->С^
ЦА->(В->С^
Из закона перестановки посылок следует правило перестановки посылок в |-А^(В^С)
доказуемых формулах j—— которое получается по правилу простого заключения из формул|-J—^(В—^С)и
|-(Л^(Д^с))^(8^(Л^С)).
Закон соединения посылок
|-(/Мв^С))-флВ^С).
Пусть множество исходных формул Г = {J —> (S —> С), А л В\ Получим вывод всех необходимых нам формул из этого множества
Г:А^(В^С\АлВ,АлВ^ А.А^В^В, В
по третьейпо четвертой по ППЗ
аксиоме аксиоме I^15AlA^215_
l-s
А , В^С , С
по ППЗпо ПИЗпо ППЗ
|~ДлВ;|-.4лЯ->Д [-ДД-Д-^В^С) |-В;|-В->С
|-И|-В->С|-С
Отсюда на основании обобщенной теоремы дедукции получим: AД
Л-Дв -> С), А л В - С
■. Из этого закона при условии, что
~(А->(В-»С))-> ДлВ-^С
|f А —> (S -> С), по правилу простого заключения немедленно получается
правило соединения посылок:правило соединения посылок:H->(S^C)H->(S^C)\-A^B^C\-A^B^C
правило соединения посылок:
правило соединения посылок:
H->(S^C)
H->(S^C)
\-A^B^C
\-A^B^C
Закон разъединения посылок
|-(ЛлВ -4 С)—>(А—>(В ^ С)).
Рассмотрим систему формул Г = ^А л В —> С, A, S} и сначала покажем, что из нее выводима формула Ал В. Пусть R — любая выводимая формула, тогда Г : /f —>(B^C\A,B,R,
J (/|Ц-Д^(/?-^Л)|-R-»AJ (/|Ц-Д^(/?-^Л)|-R-»ARABRAB
J (/|Ц-Д^(/?-^Л)|-R-»A
J (/|Ц-Д^(/?-^Л)|-R-»A
RAB
RAB
аналогично предыдущемуаналогично предыдущемуB^(r^B) ,R^B, ^R^B^^R^AaB) ,
аналогично предыдущему
аналогично предыдущему
поППЗ
|-Я->Л,|-(К->ЛН(Я->8Н«->Лл8))
КЯ->8)->(Я->Лл8)
R-^A^B по ППЗR-^A^B по ППЗАлВАлВпоППЗпоППЗ|-/?-^S,|-(/?-^SH/?-^^aS) \-R2\-Rz»AaB|-/?-^S,|-(/?-^SH/?-^^aS) \-R2\-Rz»AaB\-R-+AaB\-R-+AaB|-Ял5|-Ял5
R-^A^B по ППЗ
R-^A^B по ППЗ
АлВ
АлВ
поППЗ
поППЗ
|-/?-^S,|-(/?-^SH/?-^^aS) \-R2\-Rz»AaB
|-/?-^S,|-(/?-^SH/?-^^aS) \-R2\-Rz»AaB
\-R-+AaB
\-R-+AaB
|-Ял5
|-Ял5
Итак, формула Ал В выводима из формул Ал В —> С, А, В. Продолжим
выводдоприменениятеоремыдедукции:
Г: А л В, С ,(А л В—> С)—> (А—> (В—> С)). Отсюда следует и поППЗпо обобщенной теореме дедукции
Ы^-ЛлД^САлВ^С,А.В\-С
|"С(ЛлД->СНл^(5-*С))
\-АлВ-^Справило разъединения посылок;г, ибо
|-J^(B^C)
|-v4aS-^C,|-(v4aS-»C)->(v4->(S-^C))
|-^^(S^C)
Рассмотрим теперь несколько примеров на доказательство формул исчисления высказываний с использованием всех ранее рассмотренных теорем.
■ Пример 1. Доказать допустимость следующего правила вывода:
г, si-я
—правило для доказательства теорем от противного.
При доказательстве новых правил, естественно, могут использоваться уже известные правила вывода. Пусть Я = {Я}, тогда очевидно, что Д- А. Воспользуемся уже рассмотренным правилом расширения
. По условию Г,S|— А, по правилу сведения к противоречию
Г, I- А; Г2I- АГ, 5|- А; Г, Я|- А
— : в нашем случае получим —=— , ибо
г[.г2|-__г.д^-
ГМГ2 = Г,В,А = PuSu А. Последнее необходимое правило
Г, 1-Г, Si-
удаления отрицания ——В нашем случае. Итак, доказано
Г, 3- А исходное правило вывода.
Пример 2. Вывести следующую секвенцию {А —> В, В —> С}|- А —> С.
Итак, Г = {Л-» Д В-» С}, следовательно, Г|-Л^ ДГ|-В^С.
\-В;\-В-^С
Тогда по правилу силлогизма -।———.
Пример 3.Вывестиследующуюсеквенцию
(а-»(з->с))|-в->(а-»с).
немедленно, если |~Л—>(Д—>С) |-В^(А^С)'немедленно, если |~Л—>(Д—>С) |-В^(А^С)'Из исходного множества результат следует
немедленно, если |~Л—>(Д—>С) |-В^(А^С)'
немедленно, если |~Л—>(Д—>С) |-В^(А^С)'
воспользоваться правилом перестановки посылок
Пример 4. Вывести следующую секвенцию -Av А— закон
исключенного третьего.
Исходное множество не задано, следовательно, оно может быть произвольным. Выведем сначала две вспомогательные формулы
х—>\х—> у) и xv у—> хл у. Воспользуемся пятой, девятой и шестой аксиомами. Итак, замена в пятой аксиоме
Применим правило простого заключения и шестую аксиому в качестве
посылкипосылки, теперь сделаем
посылки
посылки
подстановку в
наконец, применим правило сложного заключения, получим:
Таким образом, доказана одна из двух вспомогательных формул. Докажем теперь вторую из них. Для этого используем первую и девятую аксиомы, сделав в них следующие замены переменных:
и
Теперь применим несколько известных правил вывода. По правилу
|—А—У В1, В—>Ссиллогизма J—: получим
по правилу соединения посылокпо правилу соединения посылок|-/М^с)—: в нашем случае\-АлВ^С3|-/М^с)—: в нашем случае\-АлВ^С3Ц—=-; по правилу снятия двойного отрицания-хлх —> уЦ—=-; по правилу снятия двойного отрицания-хлх —> у-А^В-А^В-А^В-А^Вбудем иметь - хл х —> у; наконец, по правилу разъединения посылокбудем иметь - хл х —> у; наконец, по правилу разъединения посылок\-АлВ^С\-АлВ^С\-А^(В^С)\-А^(В^С)получим доказуемость второй вспомогательнойполучим доказуемость второй вспомогательнойформулыформулыВ дальнейшем доказательстве используются выводимые формулы. Сначала сделаем вВ дальнейшем доказательстве используются выводимые формулы. Сначала сделаем вдве полученные них подстановки
по правилу соединения посылок
по правилу соединения посылок
|-/М^с)
—: в нашем случае
\-АлВ^С3
|-/М^с)
—: в нашем случае
\-АлВ^С3
Ц—=-; по правилу снятия двойного отрицания
-хлх —> у
Ц—=-; по правилу снятия двойного отрицания
-хлх —> у
-А^В
-А^В
-А^В
-А^В
будем иметь - хл х —> у; наконец, по правилу разъединения посылок
будем иметь - хл х —> у; наконец, по правилу разъединения посылок
\-АлВ^С
\-АлВ^С
\-А^(В^С)
\-А^(В^С)
получим доказуемость второй вспомогательной
получим доказуемость второй вспомогательной
формулы
формулы
В дальнейшем доказательстве используются выводимые формулы. Сначала сделаем в
В дальнейшем доказательстве используются выводимые формулы. Сначала сделаем в
, тогда, тогдаполучимполучим; правило контрпозиции; правило контрпозициидаетдает
, тогда
, тогда
получим
получим
; правило контрпозиции
; правило контрпозиции
дает
дает
Затем применим закон соединения посылок
. По правилу силлогизма
-А^В-А^В-А^В-А^В
-А^В
-А^В
-А^В
-А^В
-XVх—> у
——===. Правило снятия двойного отрицания
- у —> х v х
-J(xvx)3|--J(xvx)3|-Пример 5. Доказать выводимостьПример 5. Доказать выводимостьp^S;p->Bp^S;p->Bнн
-J(xvx)3|-
-J(xvx)3|-
Пример 5. Доказать выводимость
Пример 5. Доказать выводимость
p^S;p->B
p^S;p->B
н
н
позволяет получить доказуемую формулу
Воспользуемся теперь правилом удаления импликации rJ-^^S;r2l-^
!:. ПуСТЬ Г2 = {/?/, где R — любая доказуемая
Г.Г-Г8
формула. Тогдаформула. Тогда^ —> (х v xj)= - R —> (х v xj. Правило удаления
формула. Тогда
формула. Тогда
импликации применительно к этой формуле будет иметь вид
I- R —> х v х ;|- R
;=. Наконец, сделаем последнюю подстановку
-XV X
A v А. Итак, исходная формула доказана.
В этом примере исходное множество формул имеет вид Г = {а —> В, А -> bY Воспользуемся выводимой формулой,
полученной на основе девятой аксиомы I- (А —> В)—> (в —> А). По
правилупростогозаключенияимеем
А^ Я;I-(А^ В^ (й^ л)
j—==, тогда по правилу силлогизма \-В^ А
1-Л—>В;|-В—> А
получается вспомогательная формула г=. Пусть
- А—» А
теперь А — любая доказуемая формула. По правилу удаления \-А;\-А-^А импликации :—=.
■ Пример 6. Доказать Г = {А —> 2?}|- А л С —> В л С .
Г: А —» В. В множестве Г нет формулы С. Введем ее дополнительно, положив Г, = {А —> В, А л С} Г с Г,. Тогда
Г :А^В,АлС, АлС^А , АлС-^С , А по третьей аксиоме по четвертой аксиоме во ПИЗ хху^ххлу^у УуЛлСД-АлС-уД
Н
иоППЗ ’ лоППЗ|-ЯлС;|-^лС-»С |-Л|-Л->ВbeI-SиоППЗ ’ лоППЗ|-ЯлС;|-^лС-»С |-Л|-Л->ВbeI-Sправилу введения конъюнкцииправилу введения конъюнкцииГ,|-/1;Г,|-ВГ^КНлВ'Г,|-/1;Г,|-ВГ^КНлВ'ЗдесьЗдесьГ = Г2 иГ = Г2 иГ,, Г2 = Г . Воспользуемся теперьГ,, Г2 = Г . Воспользуемся теперьГ,С|- АГ|- С А 'Г,С|- АГ|- С А 'В данном случае получимВ данном случае получимтеоремой дедукциитеоремой дедукции. Итак, формула А л С —» В л С выводима. Итак, формула А л С —» В л С выводима
иоППЗ ’ лоППЗ|-ЯлС;|-^лС-»С |-Л|-Л->ВbeI-S
иоППЗ ’ лоППЗ|-ЯлС;|-^лС-»С |-Л|-Л->ВbeI-S
правилу введения конъюнкции
правилу введения конъюнкции
Г,|-/1;Г,|-В
Г^КНлВ'
Г,|-/1;Г,|-В
Г^КНлВ'
Здесь
Здесь
Г = Г2 и
Г = Г2 и
Г,, Г2 = Г . Воспользуемся теперь
Г,, Г2 = Г . Воспользуемся теперь
Г,С|- А
Г|- С А '
Г,С|- А
Г|- С А '
В данном случае получим
В данном случае получим
теоремой дедукции
теоремой дедукции
. Итак, формула А л С —» В л С выводима
. Итак, формула А л С —» В л С выводима
только из Г, введение Г, с формулой АлС было лишь вспомогательным действием.
■ Пример 7. Докажем более сложное, чем указано в списке правил исчисления высказываний, правило введения дизъюнкции Г,Л|~ С; Г,3|-С
Г, ЛуВ(-С
По условию Г, Д- С, Г, Sf- С . По теореме дедукции — 1'Г|-С—
г,Д-с
имеем —;! и —!. Сделаем в восьмой аксиоме
г|-я-^сг|-в-^с
следующую замену переменных:
- J((x z) ((у z) (х V у z))) =
^-^A—frC^^^B^C^—^AvB^C^ и применим правило сложного заключения
|-Л^С;|-В^С;|- (А -> С)^ ((й^ С)^ (A v В^ С))
Для доказательства требуемой формулы воспользуемся правилом Г|-С->Аr|-AvS->C
удаления импликации. В нашем случае ^ ^—д[ (7" '
Следовательно, правило введения дизъюнкции доказано.
г|-Л;Г|-й
Пример 8. Докажем правило введения конъюнкции —Ст.
Г|- Ал В
По условию Г|—Д Г|— В. Докажем сначала, что {А, 3}|— А л В. Для этого сделаем подстановки в пятой и первой аксиоме:
- J ((z -> х) -> ((z -> у) -> (z -> х л у))) =| - (А -> А) -> ((л -> В) ->
-^А^АлВ)\-^А^АлВ)\В. А
-^А^АлВ)\
-^А^АлВ)\
- J (х —> (у —> х)) = |- В —> (А —> В). Ранее уже
показывалось, что формула А —> А выводима из любой совокупности формул, в том числе и {А, й}|- А —> А. Применим несколько раз правило простого заключения р^4|-(А^А)->((А^В)-^(А^АлВ))
|-(А->й)->(А-> Ал В)
\- ВД- В-у (А^ В) \-А->В;(А-» В)^(А^ АлВ)
|-A^S’|-А-> Алй’
\-Д\-А-уАлВ
\-АлВ '
Практическое занятие №5. Исчисление высказываний: правила вывода и доказуемость формул
Выписать все подформулы формул:
A-^BvAaB;
А —> —> (А —> В));
((А —> В)л (В —> С))—> (a v с);
(4 -> 4 v 4)-^ 4.
Применяя только правило подстановки, доказать, что выводимы следующие формулы:
АлВ^АлВуС;
<А^ AH<U-v BaC)-v(A-v Ал ВлС));
(Ал В—> (СВл С))-^ ((Ал В-А С)-А (Ал В-А Вл С));
(av В^ф(с-^ Алв).
Являются ли выводами в исчислении высказываний следующие последовательности формул:
A-a(AvB);
A^(AvB\ (A -a (Av В))-а (В -a (A -a (Av В))), В-a (A-a (Av В^;
А -ЦБ А\ (А^(В^ А))^ В, В.
Выводами из каких множеств формул Г является следующая последовательность формул:
А -» (В -» С), А, В-А С, В, С;
(а В^ (в а\ А В, В А, В, А;
А-^В, A,B,B-^BvC, BvC,(A-^ B^(A-v BvC\
Доказать допустимость следующих правил вывода:
Г,Д^- А
а)——правило сокращения;
г,,г2|-й ’
Г^ДВ^-С
в);правило перестановки.
ЦА, Г2 — С
Применяя производные правила вывода, показать выводимость формул:
|- А л А —> F;
|—(Л—> В)л В —* Л;
|- Av А—> А;
Д Ал В —> Av В;
о)\-А^(В-+ АлВ);
р^(^в).
Вывести следующие секвенции:
^->(В->С)-(^лВ)->С;
А^ ^-(АлС)^(ВлС);
Д— А—> В;
А^^-В-^ А;
А^ В, В <Д-А—> С;
А^ В|-(С-> А)^ (С -^ В);
А —> В|- A v С —> В v С;
А,А->Д-В;
А^В,"^-^;
Д— В —> А.
Доказать производные правила вывода:
, д,А„ ..,4, |-й а) 1;
|-Д л Д л.-.лД
|-,4—> 8,|-^4—> 8
- д|-8
- А^ В
\-АлВ
\~А ’
\-А-^А
Используя обобщенную теорему дедукции, доказать следующие формулы:
а^А^-Щв^С^А^СУ; б) (^ —> З) —> ((С —>/^) —> (С —> 8)); в) л^(в-^Ьв.
Введем следующее исчисление (исчисление Лукасевича): множество предметных переменных и констант состоит из бесконечного числа букв и знаков ,—>. Все буквы есть формулы, если ф — формула, то (р также формула; если (риф — формулы, то ф —»\|/ тоже формула. Система аксиом следующая:
a)(A^B'H«B^Ci^U^Cb
б) (А->а)->А;
в) а-^^>в\
Справедливы правило подстановки и правило заключения. Доказать, что в Исчислении Лукасевича выводима формула А —» А.
Монотонность и эквивалентность формул исчисления высказываний
Формула й(а), содержащая переменное высказывание А, называется монотонно возрастающей (убывающей) по А, если из выводимости Д —> Д следует выводимость /^(Д)^#^) ОКд)—» В(Д)).
Говорят, что формула В сильнее формулы D, если |-А —>D. Эти два понятия позволяют упрощать доказательства, в которых производится замена части какой-нибудь формулы более слабой или более сильной формулой.
Из определения монотонности следует, что если формула В(А() монотонно возрастает по А, и |- В(А1), то, заменив Д более слабой формулой Д, получим также выводимую формулу. Действительно, пусть |— Д —> Д и |- ^Д ). Из определения монотонности |-В(Д )—> S(A2). Тогда по правилу |-8(4),|-S(^)^8(4)
простого заключения1.
Наоборот, если 5(Д) убывает п[о А|, то В(А,) остается выводимой при замене Д более сильной формулой.
Теорема 2.2. Все основные логические операции монотонны по всем участвующим в инх переменным высказываниям: формулы АлВ н Av В монотонно возрастают по А и В, А убывает по А, А—У В убывает по А н возрастает по В.
Доказательство.
Докажем только, что Av В монотонно возрастает по А. Пусть |— Д —> А2.
Из аксиомы Шг (см. формулы (2,1,1)) подстановкой получим В, А2
J (у —» х v у) = |- В —> А2 v В. Подстановка в Ш1 дает У, х а2.в
J (л: —> х vу^Ц-^в, отсюда по правилу силлогизма
1-А, —> А2,|- 4 —> 4 V в
:. Наконец, сделаем подстановку в аксиому III з, |- а, 4 v в
■тогда j(x-4z)->((y-4z)->(xvy>-4z))s
^|-(A1^A2vB)-4((B-4A2vB)-4(A1vB-4A2vB)).
Теперь, применяя дважды правило простого заключения, получим
|-4 -4 А2 V В,|-(Д, -4 А2 vB)-4((B-4 А2 vB)-4(a, v В —> А2 v В)) ~|-(В -4 А2 V В)-4 (А, V В -4 А, V В)
|-В-э А2 v В,|-(в^ А2 v В)-> (A, v В-4 A, v В)
|-4 vS^ А2 vB
Итак, |—А( v В—4 А2 v В, т. е. формула Av В монотонно возрастает.
Прочие положения теоремы 2.2. доказываются аналогично.
Из алгебры высказываний имеем (Л—» В)л (В—» Л)= Л <-> В. Знак <-> не является символом исчисления высказываний и может употребляться лишь для сокращения выражений. Этот знак— символ языка, на котором доказываются утверждения об исчислении. Иногда этот язык называют метаязыком.
Две формулы Л и В называются эквивалентными, если |- Л <-> В. Очевидно, что всякие две выводимые формулы исчисления высказываний эквивалентны. Действительно,
Г: А,В, А—> (В —> А), В-а А , В -4 (А -> В) ,А-4В, Ivx-Лу—>х)., Г|° ППЗ аналогично предыдущему
А,В 1|-/к|-Л-»(5^Л)
]-/}—>л
(А^В)л(В-4 А)но правилу введениякошлопкшш
Таким образом, если |- Л и - В, то |- Л <-> В. Можно продолжить вывод,
Г|-В-4 А воспользовавшись правилом удаления импликации. Тогда
I- В -4 А I- А -> В справедливы формулы : и -—з. Следовательно, если две
В|- А 4- В
формулы эквивалентны, т. е. ]—А 44 В,то А|-В и В|-А.
Соотношение эквивалентности рефлексивно: А О А, симметрично, т. е. если А О 5, то В ^> А; транзитивно: если А О В и В ^> С, то А ^ С.
Теорема 2.3. Пусть А — формула исчисления высказываний, а В— ее подформула. Пусть Ai получается из А путем замены некоторого вхождения В на формулу В1. Тогда если В^ В* ^ то А^ А1, т. с. |- (в <-> в') -» (Дв) Afil ))•
Понятие эквивалентности имеет большое практическое значение, т. к. основные свойства формул исчисления высказываний сохраняются при переходе к эквивалентным формулам. Поэтому важно уметь находить для каждой формулы эквивалентную ей формулу, но устроенную по возможности более просто.
Связь между формулами алгебры высказываний и исчисления высказываний
Как уже упоминалось, алгебру высказываний можно представить в качестве интерпретации исчисления высказываний. Исчисление высказываний построено как аксиоматическая теория путем формализации алгебры высказываний. Покажем, как множество теорем исчисления совпадает со множеством тождественно истинных формул алгебры высказываний.
Введем понятие значения формулы исчисления высказываний. Пусть А — формула исчисления высказываний, а Л^,^,...,^,— ее переменные, а|,а2,...,а)1 — набор значений этих переменных. Так как а, е {0,1} г = 1,п, вектор (а],а2,...,а„)Т имеет 2л значений.
Теорема 2.4. Всякая формула, доказуемая в исчислении высказываний, является тождественно истинной формулой в алгебре высказываний.
Доказательство.
Необходимо рассмотреть и доказать три случая:
тождественную истинность аксиом исчисления высказываний;
тождественную истинность формул, полученных применением к тавтологиям правила подстановки;
тождественную истинность формул, полученных из тавтологий по правилу простого заключения.
Тождественная истинность аксиом исчисления проверяется непосредственно перебором всех значений их переменных по таблицам истинности. Проверим по табл. 2.6.1, например, аксиомы, содержащие три переменные.
Таблица 2.6.1
X
У
Z
(,-».-)->
-> ((v-> -)->(.! V V -> -))
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
1
1
Прочие аксиомы проверяются аналогично.
Пусть j^,x2,...,x„,x— перечень всех переменных, входящих в формулы А и В, например, ^.х,,...,^^) и В(х, ^ ,...,xt), /с < и . Тогда значения формул А и В на наборе а1,аг,...,ап,а будут равны ^(а^а,,..., а„,а)= а, В^,^,...,^= р. Рассмотрим значения формул при различных в
подстановках: J(^; )=-\ , xja = «,,
/М=Хх,,х2,...,х„,В), а(х[ , х2,...,х„, В)^^аг а) =
= A(a1,a2,...,a„,B(al,a2,...,at))= A(al,a2,...,a„,p)= a,.
Если А—тавтология,то A(aba9,...,a,ra) = A(aba2,...,aH,p) = 1,
т. е. если A(jCj ,х2,...,хп ,х) = 1, то {(а)=А(хьх21. —х„,В)г 1.
5 Зак. 4306
Пусть А и А—> В — тождественно истинные формулы. Тогда из свойств импликации при любом наборе ара2,...,an,a 1—»B = Y. Отсюда В = 1. Следовательно, любая выводимая формула тождественно истинна.
Теорема 2.5 (теорема о выводимости). Пусть А — некоторая формула исчисления высказываний; xvxlv..,xn — набор всех переменных, входящих в формулу A; а1,а2,...,а/1—произвольный фиксированный набор значений этих переменных. Пусть конечная совокупность формул г1a (х^еслиа,- = 1,
Г^^'.х?2,...^" г, где х/=<-Тогда, если значение
[х/,еслиа; =0.
формулы А при наборе a1,a2,...,a/z переменных хИх2,...,хя равно 1, то Г|—/4, если же значение формулы А при наборе a1,a2,...,an равно 0, то г|- А.
Доказательство.
Докажем теорему методом математической индукции по длине рассматриваемой формулы.
Пусть формула А есть переменная X;. Тогда, если xj =1, то ^ |—xz и х?'|—Ху, т. е. х“'|— А. Но Г = {х“'}, следовательно Г|-Л. Если же xJ =0, то х“' = х,- и х^ -Х;, т. е. х“'-Л. Аналогично, F = W‘} и г|-Л.
Увеличим теперь длину формулы А.
Очевидно, что А может иметь один из следующих четырех видов: а) Вх , б) Вх ^Bг, в) Вх v В2, г) Вх —> В2, причем по только что доказанному для Вх и В2 теорема 2.5 справедлива.
Рассмотрим лишь случаи а) и г).
а) Пусть А имеет вид Вх .Если B|(aha2,...,a„) = 1, то Bl(a|,a2,...,a„) = 0 и, следовательно, г|-Вх , т.е. Г|— А. Если же B|(al,a2,...,a„)=0, то
5|(а1,а2,...,ал)=1 и Г|-5, . Продолжим теперь вывод по правилам исчисления высказываний
Г : В}, Вх —> Вх , В{ . Но Вх = А, тогда г|- А. IV^v—^x 110 ППЗ
Пусть А=В, —> В2. Если A(al,a2,...>aH )= 1, то по свойству импликации либо Вх (a],a2,...,a,z ) = 0, либо В2(а],а2,...,а„)= 1. Если S|(a|,a2,...,a„)= 0, то Г — Вх . Запишем вывод из Г.
Г:8„ В.^^В,) , (ё;^В1)^В^В2) ,
В ('1 )-Hi -Ав^в,) Y Н )-[-(в;~>», Цв;^ J В,-»^->В?), Вх лВ^-»Тг ,В^В^В.,
силлошзмсоединение посылок снятие двойного отрицания
В, —> (д —> В2), В, —> (В, —> В2),В, —> В2 . Таким образом,
разъединеюю посылок перестановка посылок по ППЗ |-8|а5^в2l^e^i^Bj|-д[,|-д;^(д1^В2)
|-В|^(д;->а2)|-й,-»(д,^Й2) H^s2
Г|-В,^В2.
Если же B2(al,a2,...,aJI)= 1, Г|-В2 . Тогда вывод из Г имеет следующий вид: Г:В2, В2^(В,->В2), В, -> В2 . Итак, и в этом случае /рл—>(v—>х)по ППЗ
^\-в2^в2)'-
г1-в,^в2.
Пункты б) и в) этой теоремы доказываются аналогично. Предоставляем читателям сделать это самостоятельно.
Теорему 2.5 часто применяют для добавления в вывод из множества Г какой-нибудь сложной формулы, включающей в себя предыдущие члены вывода в качестве составных частей.
■ Пример. Дана формула А = (xv у)—> (хл z) и наборы значений переменных: а) (1,0,0) и б) (0,1,1). Записать вывод формул А или А из соответствующей совокупности формул.
a) A(1,0,0)=(1v0)^(la0)=(1v1)^(0a1) = 1^0==0.
Следовательно, из множества Г = {г, у, z }— А, т. е.
. Действительно,. Действительно,
. Действительно,
. Действительно,
Г: x,y,z,x —> х,(х v у —> х a z)—> (х v у —> х a z), /(х—>x)s|-(xvy—>xaz)—*(xvy—>xaz)
XV у —> (х V у —> X Az)—» X A Z, х—>xvy , XV у , перестановка посылок_Hl^:x-»xvy по ППЗ
|-(xvy^XAz)->(xvy^xAz) У_ |-x,|-x^xvy
^-/---,__ J V» | > -x->xvy 1
| —X V у —»^Х V у —>ХЛ Z ^->Х AZУ— XVy
(х v у —> х az)-> х az ,х az —>(х v у —> хлг),(х v у —> х az)-> х az ,х az —>(х v у —> хлг),контрпозиция _ |-(tVy^XAz)-»XAZ -XAZ^^Vy^XAz)контрпозиция _ |-(tVy^XAz)-»XAZ -XAZ^^Vy^XAz)XAZ—> X , 1Ц:ХАу-»Х j (ZZ^-XAZ^X Х.УXAZ—> X , 1Ц:ХАу-»Х j (ZZ^-XAZ^X Х.УX—> XAZ,контрпозиция|-XAZ—>X|-X—>XAZX—> XAZ,контрпозиция|-XAZ—>X|-X—>XAZ
(х v у —> х az)-> х az ,х az —>(х v у —> хлг),
(х v у —> х az)-> х az ,х az —>(х v у —> хлг),
контрпозиция _ |-(tVy^XAz)-»XAZ -XAZ^^Vy^XAz)
контрпозиция _ |-(tVy^XAz)-»XAZ -XAZ^^Vy^XAz)
XAZ—> X , 1Ц:ХАу-»Х j (ZZ^-XAZ^X Х.У
XAZ—> X , 1Ц:ХАу-»Х j (ZZ^-XAZ^X Х.У
X—> XAZ,контрпозиция|-XAZ—>X
|-X—>XAZ
X—> XAZ,контрпозиция|-XAZ—>X
|-X—>XAZ
X—> XAZ,снятие двойногоотрицания-X^XAZX—> XAZ,снятие двойногоотрицания-X^XAZXAX ,xvy—>xaz = A по ППЗ^ по ППЗ -X,-X—»XAX -jAxJ-XAX^XVy^XAZ
X—> XAZ,
снятие двойногоотрицания
-X^XAZ
X—> XAZ,
снятие двойногоотрицания
-X^XAZ
-XVy-^XAZ
Каждую из формул этого вывода можно было непосредственно поставить в вывод, проверив ее значение на наборе (1,0,0), например, xazI -1а0 = 0а1 = 0 = 1.
I(i.o.o)
б) A(0,1,1)=(0v1)->(Pa1)=(0v0)->(1a0)=0->0 = 1.
Значит, Г = ^, у, z|— А.
Проверим это.
правило введения конъюнкцииправило введения конъюнкциипо ПИЗпо ПИЗ
правило введения конъюнкции
правило введения конъюнкции
по ПИЗ
по ПИЗ
X Л у XV у , XV у , Xvy—»XAZ = X. хлу,хуу . _ но ППЗно ППЗ
р^?[-.Wy->.VAZ
Проверка по теореме 2.5 для каждого члена приведенного вывода дает аналогичный результат. Например, х —» у|^0 ( ^ = 0 -э 1 = 1, х (х у)|(о] f) = О -у (о -> 1)= 1 —У 1 = 1 и т. д.
Теорема 2.6. Каждая тождественно истинная формула алгебры высказываний доказуема в исчислении высказываний.
Доказательство.
Пусть А — тождественно истинная формула алгебры высказываний, а x,^,...^— список всех ее переменных. Рассмотрим произвольный набор этих переменных а, ,а2,...,а„.А(х,,х2,...,х/1 )|(а] а2, д^ = 1,
следовательно, по теореме 2.5 Гн|-А, где Г„ = {х“' ,х22 ,--.,х“" }, причем rJ-A на всех 2п различных л-ках чисел (а],а2,...,а/г)-
Пусть Г;Н = {х^‘,л^2}, тогда если a,t=l, имеем Гн_,,лги|-А,
АI , ГТ
а в случае a((=0 1дЧ, хп А. По теореме дедукции ——।—,
;—=. Запишем теперь вывод из Г ,.
Г„ч : Х„ -> А,х„ -> А, (х„-> Л)->Е-м)-м) ,С=(л-»й)-»((я-»д)-»Д^1 на любом наборепеременных, формула выводима ио теореме 2.5
А,Вt —> А—> А , А .по ППЗ 7.
Итак, r„_J—у4. Точно так же, обозначая через Г„-2 = W'>*2’’•••’^-2 г получим Г„_2|- А. Тогда и Г, = {х“'}|-А. Если а, = 1,то {х,}|- А, если же
Г—1^|“^^1“^
Ц| =0, то Vi/- А. По теореме дедукции , :—=.
М “> ^ |-^ ->А
Аналогичный вывод дает |— А, т. е. формула А доказуема в любой совокупности формул, если она тождественно истинна.
Некоторые алгоритмы проверки выводимости формул в исчислении высказываний
Выявление того, что из некоторого множества формул исчисления логически следует другая формула, является по существу одной из основных задач исчисления высказываний. Для доказательства выводимости часто используется теорема 2.6.
Рис. 2.1
Алгоритм Квайна
Для проверки тождественной истинности формулы А^^л^,...,^) используется так называемое семантическое дерево, представляющее собой бинарное однокорневое дерево (рис. 2.1), удовлетворяющее следующим условиям:
каждое ребро помечено х^’;
ребра, выходящие из одной вершины, соответствуют противоположным переменным х^ и х, ;
ребра соответствуют одной и той же переменной тогда и только тогда, когда они находятся на одинаковом расстоянии от корня. Граф, изображенный на рис. 2.1, имеет 2'1 висячих вершин, т. е. вершин последнего ряда, и для проверки тождественной истинности в общем случае нужно исследовать 2" маршрутов от корня до каждой текущей вершины.
Алгоритм Квайна позволяет проходить лишь часть дерева и заключается в последовательном переборе переменных х, и придании им значений 0, 1. Для каждого такого набора анализируется таблица истинности формулы А^],^,...,^), причем эта таблица из-за фиксированного значения х, содержит меньшее число переменных.
Пример 1. A(x,y,z) = (х^ z)~> ((у —> z)-> (xv у —> z)).
Пусть х = 1. Тогда формула А преобразуется следующим образом: ^О,ьг)= (1 -> z)-> ((у-> z)—> (ivy -у z))= (1 -у z)—> ((у -у z)—у
—> (1 —> z)). О значении полученной формулы определенный вывод
сделать еще нельзя. Придадим значение У = 1, получим
А(1Д,z) = (1 —> z)—> ((1 —> z)-^ (1 —> z))= (1 -> z)—> 1 = 1. Если же
y=0, то A(l,O,z) = (l^z)^((o^z)—>(l-^z))=(l—>z)^(l—>(1—>z)).
Продолжим процесс последовательного перебора значений переменных: Z = l, А(1Д,1)= (1 —> 1)—> (1-> (1 —> 1))^ 1, л(1,1,о) = (1 -^ 0)^ (1 -^ (1 о))= 0-^(1—>0)=0—>0 = 1.
Рис. 2.2Рис. 2.2
Рис. 2.2
Рис. 2.2
Рассмотрим теперь случай х = 0. Получим
^(0,y,z)= (О —У z)-y ((у —У z)—У (0 v у -У z)) =
= 1 ~У ((у ~У z) ~У (у ~У z)) — 1 ~У 1 = 1.
Таким образом, все рассмотренные случаи приводят к тождественно истинным формулам, и формула А тождественно истинна, а значит доказуема. На рис. 2.2, а изображен граф, соответствующий формуле, а на рис. 2.2, б его подграф, использованный для проверки выводимости.
Пример 2. Д(х,у)= хл (х—> у)л (х—> у). Придадим значение х = 1. А(1,у)= 1л(1—У у)л(1—У у)= (1 —> у)л(1—у у);у = 1, А(1,1)= (1 -у 1)-у (1 -у о)= 1 -> 0 s 0.
Формула А выполнима и не выводима из произвольного (может быть пустого) множества формул (рис. 2.3).
Рис. 2.3Рис. 2.3
Рис. 2.3
Рис. 2.3
Алгоритм метода редукций
Алгоритм метода редукций похож на алгоритм только что рассмотренного метода Квайна. При переборе наборов значений переменных исследуемой формулы используется свойство импликации быть ложной только тогда, когда посылка истинна, а следствие ложно. Метод эффективен для формул, содержащих много импликаций.
Рассмотрим ту же функцию А(х, y,z) = (х —> г)—> ((у —> г)—> (х v у —> <)). Предположим, что формула А ложна при некотором наборе переменных (омо2,о3). Тогда по свойству импликации х —»z = l, а (у -> z)-> (х v у —> z) = 0, т. е.у —> z = 1 и xvy->z-0,
х v у = 1, 7, = а3 = 0. Но если z = 0, то х —> z = О и у -э z = 0, а не I, как было получено раньше. Данное противоречие говорит о том, что исходное предположение о ложности формулы А неверно. Таким образом, формула А тождественно истинна.
Метод резолюций
Рассуждения, являющиеся основой метода логического вывода, называемого методом резолюций, заключаются в следующем. Чтобы доказать, что {Д, А2,..., Д^-А необходимо показать, что А, л А2 л... л А„ -> А— тавтология.
Действительно, пусть Г = {Д .Д,...,А#| }. Так как Ai е Г, i = 1,/i, то Г|-Д. Г|-А,Г|-В
По правилу введения конъюнкции —————, т. е. если Г|- Д, Д,,
т. е.т. е.добавить в Г. Тогда по теореме дедукциидобавить в Г. Тогда по теореме дедукцииТ\-А^В’Т\-А^В’то rj—Д л А2 л... л Д . Следовательно, формулу ДлАгЛ-лД можно Г,А|-5
т. е.
т. е.
добавить в Г. Тогда по теореме дедукции
добавить в Г. Тогда по теореме дедукции
Т\-А^В’
Т\-А^В’
|-ДлД.л...лА„^А,|-ДлД.л...лА„^А,Г,А, ^Aг л...лА„|-А
|-ДлД.л...лА„^А,
|-ДлД.л...лА„^А,
—:!. Таким образом, если
Г|-А, л А, л... л Д, —> А
то формула А] а А2 а ... a Ar; —> А = 1 (тавтология).
Введем еще несколько определений. Пусть А, = A, v В , ^ = A, v В . Дизъюнкт А( v A^ называется резольвентой дизъюнктов Aj и А^ по переменной В и обозначается через resB^Ax,A1Y Резольвентой дизъюнктов Д и Аз называется резольвента по некоторой переменной и обозначается re^ApAj). Если дизъюнкты А, и А^ не содержат противоположных переменных, то резольвент у них не существует. Очевидно, что res^A, а)= 0. Если ге$(Д,А2) существует, то {А, А2 }|—res^, А2). Действительно, пусть Ах = Ах v В , A^A^vB, гв5у(АмАз)= А[ v А^. Очевидно, что {4[ v В, А2 v В|- Л, v А2. Для доказательства достаточно воспользоваться правилами удаления и введения дизъюнкции.
Пусть Г = {АрА2,...,А1}— множество дизъюнктов. Последовательность формул 8^^^,...^^ называется резолютивным выводом из Г, если для каждой формулы BjJ = 1,и, выполняется одно из условий:
В^Г;
3/, k < i, такие, что В. = res^Bj, В^).
Теорема 2.7 (теорема о полноте метода резолюций). Множество дизъюнктов Г противоречиво в том и только в том случае, когда существует резолютивный вывод из Г, заканчивающий нулем.
Применим эту теорему для проверки выводимости формулы А из данного множества формул Г = {А,, А2,..., Ап}. Условие {A,, Aj,...^]- А равносильно условию {д, А2,...,АП, а]|—. Действительно, если {Д, А2,..., Д,}|- А, то А] а А2 а...аА„ —> А = 1, тогда, А, а А2 а ... a A/f v А = 0 , " А, А А2 а...а Ап а А = 0, т. е. Г, = ^],А2,..., Д^а])-. Это равносильно условию, что В|-, где В = А] а Аз а... а Д, а А.
Приведем формулу В к КНФ, т. е. к виду В = Сх а С2 л... л СЙ1. Тогда если S|—, то Сх лС2 а... аСи|-. Таким образом, задача проверки выводимости {А^Аз,..., Ам}|-А сводится к проверке противоречивости множества дизъюнктов Г, = ^2pC2v..tCm}, а это равносильно существованию резолютивного вывода нуля из Г(.
■ Пример 3. Проверим методом резолюций выводимость Г = {а В а С, В —у D,С —У Е, А —> ^^-(D л E)v F. Выводимость данной формулы из Г по этому методу следует из противоречивости множества Г] =\а.—> В лС,В—> D,C Е,А-^ F,DE v F^. Приведем все формулы из Г, к КНФ: Г, = ^4 v ВС, В v D, С v Е,А v F, F a^vE^=^Av B^AvC^Bv D,Cv E,Av F,F^vE^.
Таким образом, множество дизъюнктов
Г,' =^vB,AvC,BvD,Cv E,Av F,F,Dve\
Построим возможный резолютивный вывод пуля из Г/ :
г^д(а v В, A v f)= В v F;
resA^vC,Av f)=Cv F;
resB$B v D, В v f)= D v F;
resc^C v F,Cv E^)=Ev F;
res^E v F,D v e)= D v F-,
resD(Dv F,Dv f)= F vF = F;
res^F.F^O.
На практике в общем случае метод резолюций не эффективен, т. к. число переборов резольвент может быть очень большим, оно экспоненциально зависит от числа дизъюнктов и содержащихся в них переменных. Метод успешно применяется к одному классу дизъюнктов — хорповским дизъюнктам.
Дизъюнкт А называется хорновским, если он содержит не более одной позитивной переменной, например AvBvC, Av С, А, В. В общем случае
хорновские дизъюнкты имеют вид Д v ^ v... v А„ или Д v Аз v... v Ап v В . Хорновский дизъюнкт вида A1vA2v...vA„ называется негативным., а дизъюнкт A, v А^ v...v Ал vB— точным. Дизъюнкт А называется унитарным позитивным дизъюнктом.
Если Г — множество хорновских дизъюнктов, то его проверка на противоречивость происходит следующим образом. В Г выбирается унитарный позитивный дизъюнкт В и дизъюнкт Се Г, содержащий В.
Далее Г заменяется на F\{c}u{res(C,S)}. Этот процесс продолжается до тех пор, пока либо Г не будет содержать 0, либо не найдется дизъюнктов В и С указанного вида. В первом случае исходное множество Г противоречиво, во втором непротиворечиво.
■ Пример 4. Проверим на противоречивость множество
V = Sv\^ В,С-» D.B-> ЕД)-> 1-.ДЬ',А->С,Л^=
= ^AvB,CvD,Bv ЕД) vF,EvF,"AvC,a\.
Множество содержит только хорновские дизъюнкты. Применим к нему описанный алгоритм по шагам:
resA^A,Av В^= В, V,B,C v D,B v E,D v ЕД vF,Av c};
resB^B,BvE^=E, ^A,B,E,C v D,Dv F,E vF,Av c};
resE^E,EvF^=F, {a,B,E,F,CvD,DvF,Avc};
reSp^F,D v f)= D, ^A,B,D,E,F,C v D,Av c};
res^AvC^C, {a,B,C,D,E,F,C v d};
resc(c,C v d)= D, V.B,C,D,D,E,fY
res(o,d)=0. Множество Г противоречиво.
Проблемы аксиоматического исчисления высказываний
Исчисление высказываний как всякая аксиоматическая теория для своего обоснования требует решения четырех проблем: разрешимости, непротиворечивости, полноты, независимости. Рассмотрим их все кратко.
Первая проблема— проблема разрешимости — заключается в том, что должен существовать алгоритм, позволяющий для любой заданной формулы исчисления высказываний определять, является ли она доказуемой или нет. Такой алгоритм существует. Действительно, любая формула исчисления высказываний может рассматриваться как формула алгебры высказываний, для которой эта проблема решается с помощью теорем 1.9-1.12 (см. разд. 1.13).
Вторая проблема— непротиворечивость исчисления высказываний. Формальную аксиоматическую теорию называют непротиворечивой, если не существует формулы А такой, что в исчислении одновременно выводимы А и А.
Теорема 2.8. Исчисление высказываний непротиворечиво.
Действительно, по теореме 2.4 всякая выводимая формула тождественно истинна. Отрицание этой формулы не является тождественно истинной формулой. Следовательно, ни для какой формулы А невозможно, чтобы одновременно |-Л и |-Л.
Третья проблема— это проблема полноты. Она имеет два аспекта: полноту в узком и в широком смысле.
Аксиоматическое исчисление называется полным в узком смысле, если добавление к списку его аксиом любой недоказуемой в исчислении формулы в качестве новой аксиомы приводит к противоречивому исчислению.
Теорема 2.9. Исчисление высказываний полно в узком смысле.
Доказательство.
Пусть А — произвольная невыводимая формула (по теореме 2.7 в качестве А можно взять любую нетождественно истинную формулу), а хх,хг,...,х„ — список ее переменных. Так как А — невыводимая формула, то существует набор значений а1,а2,...,ал переменных такой, что лЩ-Хг.-л,) =о.
Пусть В},В2,...,Вп — любые тождественно истинные формулы, зависящие от переменных xpx2,...,.x,(. Рассмотрим следующий набор формул: В(1, В^г ,.„,В^’, где 5“'=|^’а' ^, и осуществим их подстановку в^'.вр,. ..ву
В формулу А:(а = а(в™1 ,В"г ,„.,В“п )= 0. Действительно, для
любого набора ора2,...,од значений переменных S,^,^,...,^^ о д = 1, т. к. В;— тождественно истинная формула. Тогда sa. и 4Д )= Да|,а2,-,а„) = 0. Таким образом, если ^(в*1 ,Bp ,...,-#“" )= 0, то a(b^*7b^7?^B^= 1, т. е. тождественно истинная формула и, следовательно, по теореме 2.6 выводима в исчислении высказываний.
С другой стороны, если формулу А^х^х^.^х^ добавить к списку аксиом исчисления, то она станет выводимой в новом исчислении как аксиома.
В новом исчислении формула А\Д',В^г ,...,В*” ) = Г Л^ ,х2,...,хд)
•^.д^.-Ля
получается в результате одновременной подстановки, т. е. также будет выводимой. Следовательно, новое исчисление высказываний будет противоречивым,^ к. в нем |- А и |— А.
Аксиоматическое исчисление называется полным в широком смысле, если любая тождественно истинная формула в нем доказуема. Проблема полноты в широком смысле решается также положительно. Справедливость этого факта следует из теоремы 2.6.
Наконец, последняя проблема— проблема независимости— заключается в независимости системы ее аксиом, т. е. в невыводимости любой из них из остальных аксиом по правилам вывода данной системы. Оказывается, что система аксиом исчисления высказываний независима. Этот факт довольно легко проверяется непосредственно, если явным образом определить множество, из которого принимают значения переменные х, у, z.
Теорема 2.10. Система аксиом исчисления высказываний независима.
Доказательство независимости всех одиннадцати аксиом исчисления высказываний довольно громоздко н основано на некоторых интерпретациях переменных и логических операций исчисления. Независимость самых простых аксиом можно доказать по следующей схеме. Допускается, что переменные в аксиомах могут принимать только два значения: 1 и 0. Все логические операции , а, V,—>, кроме одной, определяются так же, как и в алгебре высказываний, причем 1 играет роль истины, а 0 — лжи. Одну же из логических операций специально определяют так, чтобы та аксиома, в которую эта операция входит и независимость которой доказывается, не являлась тождественно равной 1.
При такой интерпретации все аксиомы, кроме исследуемой, принимают значение 1. Все формулы, выводимые из совокупности аксиом, кроме исследуемой, также будут принимать значений 1 при всех значениях входящих в них параметров.
Ясно, что если такая интерпретация возможна, то исследуемая аксиома не зависит от остальных, т. к. если бы она была выводима из остальных, то она, как и все формулы, выводимые из совокупности аксиом, кроме исследуемой, принимала бы только значение, равное 1.
Практическое занятие № 6. Эквивалентность формул исчисления высказываний и теорема о выводимости. Алгоритмы Квайна, редукций и резолюций
Вывести следующие секвенции:
\-Ал В ^> В л А;
|- Av В «-> В v А.
Доказать, что в исчислении высказываний выводимы секвенции:
|- А^ А;
{Ле4(С->,1)н(М.
Доказать, что следующие формулы выводимы в исчислении высказываний:
|- A v В <-> А а В;
"А "А.
Используя свойство монотонного возрастания или убывания функций, доказать выводимость следующих формул:
4=хч(л'ч(л^улл)):
>4’—>j'.
Используя свойство монотонного возрастания дизъюнкции по обеим переменным, доказать выводимость формулы
Дана формулаA=xAyv(x —>у)лх и наборы значений
переменных а) (1,1), б) (О,о). Записать вывод формул А или А из соответствующей совокупности формул.
Формула А = х, v х2 —» х3 задана на наборах а) (0,0,1) и б) (1,0,0). Вывести А или А из соответствующей совокупности формул.
Формула А = (х —> у) а (у —» z) —> (z —> х) задана на наборах а) (о, 0,1) и б) (1,1,1). Записать вывод формулы А или ее отрицания из множеств Г, = ^, у, z} и Г2 = {х, у, z}.
Дана формула А= х, v х2 —> Xj и наборы значений переменных а) (1,1,1), б) (1,0,1), в) (0,1,0). Записать вывод А или А из соответствующей совокупности формул.
Формула А = х—>(х —> у) задана на наборах а) (1,0) и б) (о, 1). Вывести формулу А или ее отрицания из соответствующих множеств Г, = {х, у} и Г2 = {г, у}.
С помощью алгоритма Квайна проверить тождественную истинность следующих формул:
(A->S)^(S-^A);
^AvB^^AaB^v^BлА^;
(AvS)-^^^s);
Av5->(c«-> а).
Используя алгоритм редукции, проверить тождественную истинность следующих формул:
(AaS->C)^(A->(S->C));
А, —> (a, -> ... —> (д_, -> (А„ —> S v 5))..);
(A->S)a(a->s)-> А.
С помощью алгоритма Квайна и алгоритма редукции доказать тождественную истинность аксиом исчисления высказываний.
Методом резолюций проверить следующие соотношения:
^ v С,С —> S,S —> Aj|-А —> (В —> С);
{a v С —> Д, С —> A v S,SC —> A v 5j|-S —> С;
^, A v д}|-(д —> С)—> А.
Проверить на противоречивость множество хорновских дизъюнктов:
{a v В v С v D,B,A v В v С,С,В v о);
1^АлВ^С,А,В,сУ
^vD v E,Ev F,C,D,A,f\
Глава 3
Логика предикатов
Определение предикатов и логические операции над ними
В исчислении высказываний изучались логические отношения, составленные из простых высказываний и принимающие только два значения 0 или 1 с помощью операций д, v, , —*, <-> . Однако для задания более сложных логических рассуждений исчисления высказываний недостаточно. В любой к- значной логике можно определить наличие того пли иного свойства па конечном множестве элементов, в случае же бесконечных множеств необходимо введение функций, аргументы которых пробегают бесконечное число значений на множестве М.
Все высказывания, используемые до сих пор, рассматривались как нераздельные целые и только с точки зрения их истинности или ложности. Структура высказываний и их содержание игнорировались. Однако, очевидно, что на практике используются заключения, зависящие как от структуры, так и от содержания используемых в них высказываний.
Не всякие высказывания и не любые логические рассуждения могут быть описаны на языке исчисления высказываний. В некоторых случаях высказывания касаются свойств объектов или отношений между объектами. Кроме того, необходимо иметь возможность утверждать, что любые или какие-то объекты обладают определенными свойствами или находятся в некоторых отношениях.
Поэтому следует расширять логику высказываний и построить такую логическую систему, в рамках которой можно было бы исследовать структуру и содержание тех высказываний, которые в рамках алгебры высказываний считались бы элементарными.
Такой логической системой является логика прейикатов, а алгебра высказываний — ее составной частью. Помимо элементарных высказываний в логике
предикатов рассматриваются высказывания, отнесенные к предмету, т. е. высказывания расчленяются на субъект и предикат. Субъект — это то, о чем что-то утверждается, предикат — это то, что утверждается о субъекте. Логика предикатов— это расширение логики высказываний за счет использования предикатов в роли логических функций.
Одноместным предикатом Р(х) называется произвольная функция переменного х, определенная на множестве М и принимающая значения из множества {ОД}.
Множество М , на котором определен предикат Р^х\ называется предметной областью или областью определения предиката. Множество всех хЕ М , при которых Р(х) = 1, называется множеством истинности предиката Р(х>. 1Р={^хеМ,р(х)-1}.
Предикат Р(хУ определенный на множестве М , называется тождественно истинным, если Iр = М , и тождественно ложным, если 1Р = 0. Булева функция однородна в том смысле, что для нее область значений функции и область изменений аргумента по типу одна и та же — логическая (либо истина, либо ложь). Для предикатов же область значений функции — логическая, а область изменения аргументов — предметная. Обобщение понятия одноместный предикат— понятие многоместного предиката, с помощью которого выражаются отношения между предметами.
п-местным предикатом называется всякая функция п переменных Q^xY,x2,...>xn\ определенная на множестве М = MYxM2x...xMn (декартово произведение) и принимающая на этом множестве одно из двух значений: "истина" или "ложь", т. е. и-местный предикат Q(xt,x2,...,xy) есть функция Q : М —> В, где М — произвольное множество, а В = {0,1}.
Высказывания можно считать нульместными предикатами.
Говорят, что предикат Р(х) является следствием предиката еМ feW-^ р^, если 1Q С 1Р, и предикаты Р(х) И б(х) равносильны (р(х) е(х)), если lQ=lp.
Так как предикаты принимают два значения 0 и 1, то к ним применимы все операции логики высказываний.
Конъюнкцией двух предикатов Р^х^) и Q(x) называется новый предикат P(x)a Q(x), который принимает значение "истина" при тех и только тех
значениях хе М , при которых каждый из предикатов принимает значение "истина", и принимает значение "ложь" во всех остальных случаях. Очевидно, что областью истинности предиката Р(х^ л Q(x) является lQ Сх 1 р .
Дизъюнкцией двух предикатов ^(х) и б(-х) называется новый предикат P^v Q^x\ который принимает значение "ложь" при тех и только тех значениях хб М , при которых каждый из предикатов принимает значение "ложь", и принимает значение "истина" во всех остальных случаях. Ясно, что 1Q\J 1Р.
Отрицанием предиката Р^ называется новый предикат Р(рс\ который принимает значение "истина" при всех значения хе М , при которых Р(х) принимает значение "ложь" и наоборот. Здесь очевидно, I- = М \ I р.
Импликацией Р(х^ и Q(-v) называется новый предикат Р(х)—> Q(x), который является ложным при тех и только тех значениях хе М , при которых одновременно F(x) принимает значение "истина", a Q^ — значение "ложь", и принимает истинное значение во всех остальных случаях.
■ Пример 1. а) Луна есть спутник Венеры — ложное высказывание, не являющееся предикатом, т. к. в нем нет аргумента — переменного х; б) 5 +V70-V10 > 150 —тоже самое;
в) х2 + Зх + 2 = 0 — предикат. Здесь хЕМ - К, IР = {-2,-1}
Пример 2. На множестве М = {З,4,5,6,7,8} заданы два предиката Р(х): " х — простое число", @(х): " х — нечетное число". Составить их таблицы истинности (см, табл. 3,1,1). Равносильны ли предикаты Р^ и <2(х) на множествах L = {2, 3,4, 5, 6, 7, 8} К = {3,4, 5,6, 7, 8, 9} ?
Таблица 3.1.1
X
3
4
5
6
7
8
р(^
1
0
1
0
1
0
eW
1
0
1
0
1
0
Очевидно, что /^={3,5,7} Iq=^, 5, 7} Таким образом, на множестве М Р(х^) = Q(x\ На L и К предикаты не равносильны, ибо на L,
например, 2— простое число и четное, а на К 9— нечетное, но составное число.
Пример 3. Исследовать, является ли один из двух данных предикатов Р(х, у) и Q(x, у) следствием другого, если
Р(х,у)={/х-7у =15} (^у^Уху =15}
Рис. 3.1
Рис. 3.2
Найдем области определения обоих предикатов и изобразим их на рис. 3.1 и 3.2.
2 |/(х > 0, у > O)v (х < О, у < O)j'
Области определения обоих предикатов на рисунках заштрихованы. Следовательно, 1рС_1й,т.е. Р^х, у) —> Q(x, у) и предикат Q(x, у) является следствием предиката Р(х, у).
Пример 4. Найти область истинности предиката х — у2 >0 и изобразить на плоскости.
Неравенство, составляющее исходный предикат, ограничивает часть плоскости, заключенной между ветвями параболы х = у2 (рис. 3.3).
Рис. 3.3
Пример 5. На множестве М = {1,2,3,..., 20} заданы предикаты А(х): " х не делится на 5", В(хУ " х — четное число", С(хУ " х — число простое", D(x): "х кратно трем". Найти множества истинности предикатов А(х)а в(х)л О(х), A(x)vS(x), Z)(x)-^C(x).
А(х)а В(х)a О(х)={ х не делится на 5 и х — четное число и х кратно трем}={ х не делится на 5 и х делится на 6}. Действительно, 1Р = {6,12,18}.
A(x)vy(x)={x не делится на 5 или х — четное число}. /Р = М\{5,15}.
D(x)—> С(х)= D(x)v С(х) = { х не кратно трем или х—непростое число}. Здесь рассуждения сложнее, однако, если перебрать все элементы множества М , то легко установить, что IР = М\ {З}.
3.2. Кванторные операции
Функциональная природа предиката влечет за собой введение еще одного понятия — квантора. Кванторные операции можно рассматривать как обобщение операций конъюнкции и дизъюнкции в случае бесконечных областей. Рассмотрим это подробнее. Пусть дан р(х) — одноместный предикат. Если де М, то Р(й)— высказывание. Здесь как в обычной функции одного переменного при фиксации аргумента функция превращается в число. В логике предикатов существуют еще две особые операции, которые превращают одноместный предикат в высказывание, т. е. связывают аргумент предиката.
Квантор всеобщности V.
Пусть Р(х) — предикат, хе М . Под выражением МхР^ понимают высказывание, истинное, если Р^ истинно для каждого элемента хе М , и ложное в противном случае.
Символ V называется квантором всеобщности (all— всякий). Соответствующее ему словесное выражение звучит так: "для всякого х Р(х) истинно". Переменная х в предикате Р^ называется свободной (х любое из М \ в высказывании VxP(x) переменную х называют связанной переменной.
Рассмотрим предикат Р^, определенный на множестве М = ^1х,аг1.—>а11}, содержащем конечное число элементов. Если Р^ является тождественно истинным, то истинными будут высказывания Р^ах\Р^аг\...,Р^ап\ При этом истинными будут высказывание \/хР(х) и конъюнкция Pfa^A Р(о2)а... л Р(ап\ Если же хотя бы для одного элемента аьем PW = 0, то ложными будут высказывание VxP(x) и конъюнкция Р(а} )а Р(а2)л... л Р(ап). Следовательно, справедлива равносильность VxP(x)= р(а,)л Р(а2)лл Р(а„).
Квантор существования 3.
Пусть Р(х) — предикат, х е М . Под выражением ЗхР(х) понимают высказывание, истинное, если существует элемент хе М , для которого Р(х) истинно, и ложное в противном случае. Символ 3 называется квантором существования (exist— существовать). Словесное выражение звучит так:
"существует х, при котором Р^х) истинно". Высказывание ЗхР(л) уже не зависит от х, переменная х связана квантором 3.
Аналогичные рассуждения, как и в предыдущем случае, позволяют установить равносильность EW(x)= Р^ )v f(a2)v ... v Р^„\ Ясно, что высказывание VxP(x) истинно только в том единственном случае, когда Р^) — тождественно истинный предикат, а высказывание ЗхР^ ложно только тогда, когда Р(х) —тождественно ложный предикат.
Кванторные операции применяются и к многоместным предикатам. Применение кванторной операции к предикату Р(х, у) по переменной х ставит в соответствие двухместному предикату Р(х, у) одноместный предикат Х/хР(х, у) или ЗхР(х, у), зависящий от у и не зависящий от х.
К двухместному предикату можно применить кванторные операции по обеим переменным. Тогда получим восемь высказываний:
VxVyP(x,y);
ЗхХ/уР^х, у);
Vx3yP(x, у);
ЗхЗуР(х, у);
VyVxP(x, у);
3yVxP(x,у);
Vy3xP(x, у);
ЗуЗхР(х, у).
В общем случае изменение порядка следования кванторов изменяет смысл высказывания и его логическое значение, т. е. например, высказывания VxVyP(x, у) и VyVxP(x, у) различны.
Пусть предикат М(х, у) означает, что х является матерью для у, тогда Vy3xAf(x, у) означает, что у каждого человека есть мать— истинное утверждение. ЗхМуМ^х, у) означает, что существует мать всех людей. Истинность этого утверждения зависит от множества значений, которые могут принимать у: если это множество братьев и сестер, то оно истинно, в противном случае оно ложно. Таким образом, перестановка кванторов все-
общности и существования может изменить сам смысл и значение выражения.
Квантор существования 3 можно выразить через квантор всеобщности применительно к предикату Л(х), 3x4 (х) = УхЛ(х) (см. разд. 3.5).
Полезно выяснить теоретико-множественный смысл кванторов. Оказывается, кванторы связаны с геометрической операцией проектирования. Рассмотрим одноместный предикат р(х)= ЗуР(х, у). Пусть множество истинности предиката F(x) — IF. Однако выражение ЗуР(х,у) истинно для данного конкретного х0 только тогда, когда существует такое у, что Р(х0, у) истинно. Таким образом, функции Р^у) отвечает часть 1р множества М{ X М} = М1. Тогда 1F состоит из всех тех элементов х области Мх, для которых найдена пара (х, у)е 1Р.
Если считать х0 проекцией пары (х0, у), тогда 1Р есть проекция 1р. Множество истинности 1Р С М2 двумерного предиката Р(х, у) можно рассматривать как плоскость, а Мх — как ось Ох этой плоскости. Таким образом, множество IF, являющееся областью истинности предиката Р(х), совпадает с ортогональной проекцией множества I р на ось Ох» т. е.
ZF=npxIP.(3.2.1)
Квантор всеобщности можно выразить с помощью квантора существования (см. разд. 3.5). Пусть Fj (х) = VyP(x,y), тогда УуР (х, у )= Зу Р(х?у). Операции отрицания соответствует теоретико-множественная операция дополнения. Следовательно,
IPv =U\npXu\Ip)s(3.2.2)
т. е. множество, отвечающее функции VyP (х, у), есть дополнение к проекции на Мх —дополнения к IР.
" Пример 1. Установить истинность или ложность высказывания Зх(хе {2,5}—» (х2 -6х + 8 = о)).
х2 - бх + 8 = 0, х, 2 = 3 ± V9-^ = 3 ± 1, х, =2, х2 = 4.
Исходное высказывание преобразуем к виду:
Зх(хЕ {2,5}^ (х2 - бх + 8 = о))= Зх^Е^Дб}^ (х2 - 6х + 8 = o))s
-Зх(х£ {2,5}vxg {2,4})= Bx(xg {2,4}), Исходное высказывание истинно.
истинность или ложность высказыванияистинность или ложность высказыванияПример 2. Установить Vx(x2 -5л+ 6 = о).
истинность или ложность высказывания
истинность или ложность высказывания
Действуем аналогично:
х2 -5х + 6 = 0 х.х2 -5х + 6 = 0 х.5+ 25_24_5+j_
х2 -5х + 6 = 0 х.
х2 -5х + 6 = 0 х.
2 V44 ~ 2 ” 2
не можетне можетНо (х2 - 5д + 6 = о)^ (х < 2 v х > 3), поэтому любым быть, исходное высказывание ложно.
не может
не может
3.3. Формулы логики предикатов
В логике предикатов пользуются следующей символикой:
Символы Ро,9\Л'2^ - — переменные высказывания.
Предметные переменные и предметные константы ^.у,,^,... хйл'\,ггеМ.
P"’,ntE N — предикатные символы, Р”’ — н, -местный предикатный символ.
fj'jt^N — функциональные символы, /",— му-местный функциональный символ.
Символы логических операций a,v,-», , <->.
Символы кванторпых операций У,3.
Вспомогательные символы: скобки, запятые.
Множество предикатных букв вместе с множеством функциональных букв и констант называются сигнатурой языка данной теории. Термом сигнатуры языка логики предикатов являются:
Предметные переменные и предметные константы.
Если /л — и-местный функциональный символ и tvt2,...,tn —термы, то /"(/,,«,,...,(„) —терм.
Атомной (или атомарной) формулой сигнатуры называется выражение Рп^Х'Ч'---'Ч\ гДе ^‘ — л-местный предикатный символ, a tv,t2,...,tn — термы.
Формулой логики предикатов называется всякое выражение, содержащее символику 1-7 и удовлетворяющее следующим требованиям:
атомарная формула есть формула;
если А и В — формулы, то А л В, Av В, А—> В — тоже формулы при условии, что одна и та же предметная переменная не является в А свободной, а в В связанной или наоборот;
если А — формула, то и А —- тоже формула;
если А(х) — формула, i-о VxA(x) И ЭхА(х) являются формулами, причем если в А(х) х — свободная переменная, то в VxA(x) и ЗлА(х) будет уже связанной переменной.
Все предметные переменные атомарных формул свободные, связанных переменных нет. Литеральными называются формулы А или А, где А — атомарная формула.
Из этого определения ясно, что всякая формула алгебры высказываний является формулой логики предикатов. Если F — символ предиката, а хх,х2,...,хп — символы предметных переменных, не обязательно различные, то F^,х2,...,хп} — формула.
Пусть А— формула, содержащая свободную переменную х. Тогда VxA и ЗхА тоже формулы. В ^хА формула А называется областью действия квантора V, в ЗлА областью действия квантора 3. Формула А называется замкнутой формулой, если всякое вхождение переменной в А является связанным.
Подслово формулы А, которое само является формулой, называется подформулой формулы А.
Значение формулы определено лишь тогда, когда задана какая-нибудь интерпретация входящих в нее символов. Под интерпретацией понимается система М ={м,/}, состоящая из непустого множества М (область определения) и соответствия (функции) /, сопоставляющего каждому предикатному символу Р определенный п -местный предикат Р(у,.../)- При заданной интерпретации считают, что предметные переменные пробегают множество М , а символы а, v, —>, , <->, V,3 имеют свой обычный смысл.
Для данной интерпретации каждая формула без свободных переменных представляет собой высказывание, которое истинно или ложно, а всякая формула со свободными переменными выражает некоторый предикат на множестве М , который истинен при одних значениях переменных из этого множества и ложен при других,
О логическом значении формулы логики предикатов можно говорить лишь тогда, когда задано множество М , на котором определены входящие в эту формулу предикаты. Логическое значение формулы логики предикатов зависит от значений трех видов переменных: значений переменных высказываний, входящих в формулу, значений свободных предметных переменных из множества М, т. е. х, у,..., и значений предикатных переменных /’(•^Q^,-,...,•). Если фиксировать значения каждого из этих трех видов переменных, формула алгебры логики предикатов становится высказыванием, имеющим истинное или ложное значение.
Истинность или ложность формул логики предикатов может быть проверена путем приписывания смысла языковым конструкциям, т. е. их интерпретации. Формула в зависимости от интерпретации может быть истинной или ложной, но может от нее и не зависеть. Для того чтобы определить интерпретацию, необходимо задать множество значений, которые могут принимать свободные переменные, операции, приписываемые функциональным символам, отношения для предикатных символов.
Пример 1. Является ли данное выражение формулой логики преди-ка- тов?
W)^x))v Зу(Ч>’Л(>)) не является формулой, т. к. квантор существования употреблен для уже связанной квантором всеобщности переменной у;
Р —> VxQ^x, у)— формула алгебры предикатов, х — связанная переменная, у — свободная;
VxP(x)v VyQ(x, у) не является формулой, ибо в первом логическом слагаемом х —связанная переменная, а во втором слагаемом свободная.
Пример 2. Даны утверждения А(п): "число н делится на 3", в(л): "число и делится на 2", С(и): "число п делится на 4", £)(//): "число п делится на 6", Е^): "число п делится на 12". Указать, какие из следующих утверждений истинны, а какие ложны.
\/л(а(п)а В(п)-^ Е(и)\ Рассмотрим составляющие части этой формулы. А(п)л В(л): "число п делится на 6", А(п)а й(п)—> Е(п):
"если число п делится на 6, то оно делится на 12". При и = 6 импликация ложна, следовательно, исходная формула в общем ложна.
Эп(в(п)л C(n)^ D(n)). Поступаем аналогично В(п)лС(л): "число делится на 4", В(и)л С(п)—> D(n): "если число делится на 4, то оно не делится на 6". Такое может быть, например, при п = 16. Следовательно, в(и)а С(м)—> о(п) — не тождественно ложная формула, а тогда Зп^В^аС^^ ^ОО)— истинная формула алгебры предикатов.
Пример 3. Большая теорема Ферма* утверждает, что для любого целого л >2 не существует натуральных чисел х, у, г, удовлетворяющих равенству х'1 4- у" = z". Если этому равенству поставить в соответствие предикат Р(х, y,z,n), истинный тогда и только тогда, когда оно выполняется, а через N^ обозначить предикат {х — натуральное число }, то теорема Ферма формулируется так:
\/%Х/уХ/гХ/п^(л')л ^(y)л N^a N(h)a (п > 2)—> P(x,y,z,n)).
Пример 4. ЭхР(х, у)—> VxP(x, у) — формула, содержащая свободную переменную у. Пусть Р(х,у) интерпретируется как х>у на М = [a,b]. Если b > у > a, то посылка истинна, а заключение ложно и формула ложна. Если взять у = a , то и левая, и правая части истинны и вся формула истинна, следовательно, формула выполнима в данной интерпретации. Если Р^х, у) интерпретируется как х> у, М = (ptb\ то левая часть будет всегда истинна (при любом у), а правая — всегда ложна, следовательно, формула тождественно ложна в данной интерпретации.
Пример 5. Формула Vx(p(x)v Р(л)) содержит только связанную переменную х. Эта формула является тождественно истинным высказыванием в любой интерпретации. Напротив, формула Нх(р(х)л Р(х^ — тождественно ложная формула в любой интерпретации.
Пьер Ферма (1601—1665) — французский математик.
Практическое занятие № 7. Логические и кванторные операции над предикатами
Найти области истинности следующих предикатов:
sinx = siny;
lgx=lgy.
Изобразить на диаграммах Эйлера-Венна области истинности для следующих предикатов:
рДобД;
A^)^feWv6^);
P(x)aQ(x)->^x).
Записать предикаты, полученные в результате логических операций над предикатами ^х), Q^ и Я(х), области истинности которых заштрихованы на рис. 3.4-3.7.
Рис. 3.5
Установить, какие из следующих высказываний истинны, а какие ложны, при условии, что область определения предикатов М совпадает с R\
\f^x2 -6х+8 > o)v (х2 -6х+8 < о));
Эх(х2 + х + 0.5 = о);
Vx(x2 — 5л + 6>о);
Эх((хе {2,5})—> (х2-6х + 8 = о)).
Пусть /' — одноместный, g2 — двухместный, А3 — трехместный функциональные символы. Являются ли термами следующие выражения?
/'(g2(^,^));
g2,/1^),/!3^,^,^));
f'V^W^Xi^Y
Пусть /*, g2, h3 те же, что и в предыдущей задаче, Р1 — одноместный, 5 — трехместный предикатные символы. Являются ли формулами следующие выражения?
P'txJ-^Vx^fo.xj.^A Р1 (g2(^,^)));
Q’^'Wf'Wf'WY
Q’ta’.f'^Wl^i^Y
Какие вхождения переменных являются свободными, а какие связанными в следующих формулах:
V^ (pfa, х,) -> Ул; Q(x, ));
Эх2б(х2,х2)л </(х,, х,)).
Пусть S3(x,^,z) = (х+ у = z), Р1 (л- y,z) = (х-у = z), x,y,ze N. Записать формулу с одной свободной переменной х, истинную тогда и только тогда, когда:
л = 0;
л = 2;
х — четно.
При исходных данньгх задачи 3.4.8 записать формулу, выражающую:
коммутативность сложения;
ассоциативность сложения;
бесконечность множества простых чисел.
6 Зак 4306
Привести примеры таких значений а, для которых данное высказывание:
Истинно
Ложно ^М = R).
Зх< о(х2 + ах+а = о);
Эхе [а, а + 1](х2 - х- 2 < о).
Записать, введя необходимые предикаты, в виде формулы логики предикатов следующие рассуждения.
Если всякий разумный философ— циник, и только женщины являются разумными философами, то тогда, если существуют разумные философы, некоторые из женщин — циники.
Все политики— лицедеи. Некоторые лицедеи— лицемеры. Значит, некоторые политики — лицемеры.
Глупец был бы способен на это. Я на это не способен. Значит я не глупец.
Друг моего друга — мой друг.
Каждый любит сам себя. Значит, кого-то кто-нибудь любит.
Равносильные формулы логики предикатов
Две формулы логики предикатов А и В равносильны в данной интерпретации, если на любом наборе значений свободных переменных они принимают одинаковые значения, т. е. формулы выражают в данной интерпретации один и тот же предикат.
Две формулы логики предикатов А и В называются равносильными на области М, если они принимают одинаковые логические значения при всех входящих в них переменных, отнесенных к области М .
Две формулы логики предикатов называются равносильными, если они равносильны на всякой области.
Все равносильности алгебры высказываний будут верны, если в них вместо переменных высказываний подставить формулы алгебры предикатов. Кроме того, имеются равносильности самой логики предикатов, связанные с кван-
торами. Пусть А(х),в(х) — переменные предикаты, а С — переменное высказывание. Тогда имеют место следующие формулы:
УхА^х) = НхЛ(л), читается: "высказывание "не верно, что для любого х А(х) истинно" эквивалентно высказыванию "найдется т, для которого A Lx ) ложно"".
ЗхА(.х) = VxA(x).
Vx4(x) = ЗхА(х).
3x4(х) = VxА(х).
VxA(x)a VxS(x) з Vx(a(x)a S(x)), т. e. квантор всеобщности можно вносить и выносить за скобки в конъюнкции.
CaVxS(x) = Vx(CaS(x)).
С v VxS(x) = Vx(C v В(х)).
C^VxB(x)= Vx(C-^fl(x)).
Vx(b(x) C) = VxB(x)^ C.
Для формул 6-9 справедливо утверждение: постоянное высказывание можно вносить под знак квантора всеобщности и выносить из-под знака этого квантора в конъюнкции, дизъюнкции и импликации.
3xA(x)v3xB(x) = 3x(a(x)vB(x)) — квантор существования можно вносить и выносить за скобки в дизъюнкции.
И. С лЗхВ(х) = Зх(Сл в(х)).
С v ЗхВ(х) = Зх(С v й(х)).
С -> 3xS(x) = Зх(С -> В(х)).
Зх(й(х)С) s ЗхВ(х) -» С.
Для формул 11-14 справедливо утверждение: постоянное высказывание Можно выносить и вносить под знак квантора существования и выносить из- под этого квантора в конъюнкции, дизъюнкции и импликации.
ЗхА(х)лЭхЗ(х)=ЗхЗу(а(х)лЗ(у)).
VxA(x)v X/xB(x)s VxVy(A(x)v В^\
Все приведенные равносильности могут быть доказаны. Первые две формулы называются правилами переноса кванторов через отрицание. Докажем, например, первую из них.
Пусть хрх2,...,хн — множество (может и пустое) всех свободных переменных формулы А, отличных от х. Пусть М = {М,/}— произвольная интерпретация. Рассмотрим произвольный набор значений свободных переменных «] ,a2,...,azI G М и исследуем, какие логические значения при этом наборе примут формулы VxA(x) и ЗхА (%). Здесь возможны два случая: 1. Для любого элемента a G М А(х1 =1.
Для некоторого элемента а0 G М А(х)|я д д д = 0.
В первом случае для любого элемента a G М А(х1 = 0. Отсюда по
М^рЛзип
определению ЗхА(х1 = 0. Но с другой стороны, VxA(x1 =1, lrt|/b«h^.«гап
т. к. Ма^М А(х1 =1, отсюда VxAtxi =0, т. е. УхА(х) г ЭхА(х).
Во втором случае для а0 е М А(х1= 1, отсюда ЗхА(х1 = 1.
С другой стороны, в этом случае УхА(х^д д = 0. Следовательно, VxA(x^ = 1. Таким образом, исходная равносильность полностью доказана.
Обратим внимание на формулы 5, 10, 15 и 16. Видно, что, например. НхА(х)лЭхВ(х)^ Зх(а(х)л з(х)), Для квантора всеобщности такая формула имеется. Здесь же ЭлЛ(х)лЭхЯ(х) = ЭлА(х)лЭуВ(у) = = Эх(а(х)лЗу5(у)) = ЗхЗу(А(х)лВ(у)) — формула 13. Аналогично, VxA(x)v VxS(x)^ Vx(A(x)v 3(х)). Так же получим Ул'Л(л-) v VxS(.r) = = VjcA(x)v VyS(y)= Vx(a(x)v VyS(y)) = Va:3y(A(x)v S(y)).
В заключение упомянем правило переименования связанных переменных. Очевидно, заменяя связанную переменную формулы А другой переменной, не входящей в эту формулу, в кванторе и всюду в области действия квантора получаем формулу, равносильную А.
3.6. Предваренная нормальная форма. Общезначимость и выполнимость формул логики предикатов
формула логики предикатов имеет нормальную форму, если она содержит только операции конъюнкции, дизъюнкции и кванторные операции, а операция отрицания отнесена к элементарным формулам.
Используя равносильности алгебры высказываний и логики предикатов, каждую формулу логики предикатов можно привести к нормальной форме.
Теорема 3.1. Для любой формулы существует равносильная ей нормальная форма, причем множества свободных и связанных переменных этих формул совпадают.
Среди нормальных форм особое значение имеют предваренные (или пре- иексные) нормальные формы. Предваренной нормальной формой формулы логики предикатов называется такая нормальная форма, в которой либо полностью отсутствуют кванторные операции, либо они используются после всех операций алгебры логики. Эта форма имеет вид (о X] Хо х2 )...(о хи )a(xj ,x2v..,xm ), п<т, где под символом о xi понимается один из кванторов Ух,. или Эх., а формула А кванторов не содержит.
Если все о, равны V, то эта форма называется V -формулой (или универсальной формулой)-, если же все о, равны В, то такая форма называется 3 - формулой. Если существует i (0 < i < п\ такое, что о, ,с2,...,с; суть 3, а о/+|,.,,,ои суть V, то такая форма называется скулемовской* нормальной формой (или 3V-формулой).
Теорема 3.2. Всякая формула логики предикатов может быть приведена к равносильной ей предваренной нормальной форме.
Обратим внимание только на некоторые особенности доказательства, имеющие практическое значение. Если формула имеет вид А, то с помощью равносильностей УхА(х) = ЗхА(х) и ЗхА(х)= УхА(х) отрицание вводится под знак кванторов. Если формула имеет вид At v А^ или А( л А2, тогда последовательность действий может быть такова. Сначала переименовываются
Альбер г Торальф Скулем (1887-1963) — норвежский математик.
в Ао связанные предметные переменные так, чтобы в А, и А2 все связанные переменные были различны. Получаем
= (° ^Х° Х2М° х^Л^Лг.-.хД т<п,
^ zX° уЛ-1° ^K^.^v-.Z,)- Р^п-
Далее воспользуемся равносильностями Сл \/хВ(х) = \/х(С л В(х)), С v VxS(x)= Vx(C v в(х)), С лЗхВ(х) = Зх(С л в(х))
и С v ЗхВ(х)^ Эх(С v В(х)). Перепишем, например, формулу Aj v А2 следующим образом:
A, v А2 = (а х. Ха х2)..(ах,„ Xajx, ,х2,...,х„)v(а У1 Ха у2)...
•••(° У, К (Уг Уз )]= (а X) Ха х2)..(а х„, Ха .V] Ха У2).(а УРУ
• [«1 (х,, х2 х„ )V а2 (у,, у2у„ )], т, р < п.
Формула А логики предикатов называется выполнимой в области М (в данной интерпретации), если существуют значения переменных, входящих в эту формулу из области М , при которых формула А принимает истинные значения. Формула А называется выполнимой, если существует область, на которой эта формула выполнима.
Формула А называется тождественно истинной в области М, если она принимает истинные значения для всех значений переменных из М , входящих в эту формулу.
Формула А называется общезначимой, если она тождественно истинна на всякой области. Общезначимую формулу называют логическим законом.
Формула А общезначима тогда и только тогда, когда формула А не является выполнимой, и формула А выполнима тогда и только тогда, когда формула А не является общезначимой. Очевидно, что если F и G — равносильные в логике предикатов формулы, то F <-» G —общезначимая формула.
Теорема 3.3. Формула VaA(x)—> А(у), где переменная у не входит в формулу А(х), общезначима.
Доказательство.
Пусть хх,х0х — все свободные переменные формулы А(х), тогда y,xtlx2,...,x — перечень свободных переменных формулы VxA(x)^ А(у). Рассмотрим произвольную интерпретацию с множеством М. Пусть
b)avap...,an)bGM,aieMJ = \,n — произвольный набор значений свободных переменных доказываемой формулы. Покажем, что \fxA^A^\ ii oi =1.
Для формулы А(л) либо существует a0 G М такой, что А(х)|я „ л = 0. либо для любого a G М (в том числе и для a = b) А(х1 = 1. В пео- вом случае если А(х] =0, то VtA(x1 =0 и тогда VxA(%)^ aG}^д — 1 , Т. К. ДЛЯ импликации ^q q । В° втором случае VxA(x^^ = 1, А(у)м^ =1, тогда VxA(x)-g А(у> 1. т. к. 1 —> 1 = 1.
Теорема 3.4. Формула А(у)—> ЭдА(х), где переменная у не входит в формулу А(х), общезначима.
Докажем эту теорему, опираясь на предыдущую. Имеем VxA^r) —» А(у) = 1. Тогда VxA(x) —> Л (у) = VxA(x)v А (у) =
= ЗхЛ(х) v Л (у) = ЭхЛ(х) v Я (у) = A(y)v ЗхА(х) = Я(у) -> ВхА(х) = 1. Следовательно, формула А(у)—> ЗхА(х) общезначима.
Теорема 3.5. Пусть А — тождественно истинная формула алгебры высказываний, xvxlv..txtt — список ее переменных. Подставив вместо каждой переменной х( формулу логнкн предикатов В, так, чтобы при этом не нарушались пункты определения формулы логики предикатов, получим общезначимую формулу логики предикатов.
Доказательство равносильностей формул логики предикатов требует либо детального рассмотрения значений формул, либо использования известных равносильностей.
■ Пример 1. Доказать VxA(x) = ЭхА(х). Этот пример легко решается. Воспользуемся первой формулой из списка равносильных формул логики предикатов VxA(x) = Вх А(х). Если от нее взять отрицание, получим искомый результат VaA(x) = VxA(x) = ЭхА(х).
Пример 2. Пусть Д(х) и В(х) два одноместных предиката, определенных на множестве М и таких, что высказывание Нх(^M^№v (з(л) -> A(x)jj)= 1. Доказать, что высказывание Х/хА(л) = 0.
Упростим исходное высказывание.
Л(х)по закону поглощения
= Эх АД = УхаД = 1. Тогда VxA(x) = УхА(х) в 0.
Пример 3. Привести к предваренной нормальной форме следующие формулы логики предикатов:
В в р —> Зх/?(х).
р^ГЗхЩх)в руЗх7?(х)в р лЭхЯ(х)= рлУх^х)= Ух(р л Л(х)).
В = УхЗу(А(х) о А(у))=ЭхЭу(А(х) <^ А(у)) в ЭхУу(А(х) о А(у)) в
= ЭхЧуДхУ^А^Т^^ЭхУу((А(х)-> A(y))v
v (А(у)-М(х)))в 3rV>^^)vA(y))v^^)7а(х))^ в ЗхУу(А(х)л лАЙуА(у)лЛД)
Для определения общезначимости формулы логики предикатов иногда бывает достаточно равносильных преобразований. Чаще всего этого недостаточно. Поэтому связь между общезначимостью и выполнимостью устанавливают теоремами.
Теорема 3.6. Для того чтобы формула А была общезначима, необходимо и достаточно, чтобы ее отрнцаине было не выполнимо. (Невыполнимость означает, что формула тождественно ложна на всякой области.)
Доказательство.
Необходимость. Пусть формула А общезначима. Тогда А — тождественно ложная формула на всякой области и, следовательно, не выполнима.
Достаточность. Пусть А не выполнима на всякой области М. Тогда она там тождественно ложна по определению невыполнимой формулы. Следовательно, А — тождественно истинная формула в любой области М, т. е. она общезначима.
Теорема 3.7. Для того чтобы формула А была выполнимой, необходимо и достаточно, чтобы формула А была необщезначнмой.
Доказательство этой теоремы очень просто и аналогично доказательству теоремы 3.6. Поясним смысл последней теоремы. Выполнимость формулы А означает, что для этой формулы существуют две области М и М', причем в одной из них, например, М, она истинна, а в другой М' —ложна.
Задача распознавания общезначимости формул логики предикатов существенно сложнее, чем формул алгебры высказываний. Она также называется проблемой разрешимости, но решается гораздо труднее. Метод перебора всех вариантов в общем случае здесь не применим, т. к. вариантов может быть бесконечно много. В 1936 г. американский математик А. Черч доказал, что в общем виде проблема разрешимости логики предикатов не имеет алгоритмического решения.
Теорема 3.8 (теорема Черча*). Не существует алгоритма, который для любой формулы логики предикатов устанавливает, общезначима она или нет.
Задача распознавания общезначимости может быть решена в некоторых частных случаях.
Случай конечных областей
Например, если в формулах логики предикатов рассматривать только одноместные предикатные символы, то такой алгоритм существует. Логика, в которой употребляются только одноместные предикаты, соответствует логике, описанной еще Аристотелем. Здесь квантор! (ые операции можно заменить операциями конъюнкции и дизъюнкции и тем самым свести формулу логики предикатов к формуле алгебры логики, для которой проблема разрешимости может быть решена. Алгоритм проверки общезначимости формул, содержащих только одноместные предикатные символы, основан на следующей теореме.
Теорема 3.9. Пусть А — формула, содержащая ровно и одноместных предикатных символов. Для того чтобы формула А была выполнимой, необходимо н достаточно, чтобы она была выполнима во всех иптерпре- тацних ^.л с множеством М , содержащим не более 2" элементов.
Алонзо Черч (1903-1995) — американский математик и логик.
■ Пример 4. Является ли приведенная формула общезначимой?
Зх(/} (х) л Р2 (х)) —> (Эх/] (х) л ЗхР2 (х)) = 3x(/J (х) л Р2 (х)) v (Зх/{ (х) л
л ЗхР2(х)) = Vx(^x) v P^v ЭхЗу^^л р (у)) = 3y(vx(^x) v P2(x))vv Эх(^(х)л Р^ = 3y^z^) v p^v Зх^л Р2^н
= ЭуУгЭ^ (х) л Р2 (у)) V (^) V ^)))
Исходная формула приведена к предваренной нормальной форме. Получено высказывание, т. к. все переменные связаны кванторами. Проанализируем его на истинность. Пусть ^(х) =/^(х) = 1 (для Vx € М или Ek е м). Тогда (р,(х>. A(y)v/(T^v/^Пусть,
наоборот, fi(x)= Л(х)=0 (для Vxe М или Эхе М). Тогда (Ол О) v (1 v 1) = 0 v 1 э 1.Наконец,/}(х)зО, ^(х)=!
(для Vxe М или Эхе М). Тогда (1 Л 0) v (о v l) е 0 v 1 = 1. Итак, искомая формула общезначима.
Проблема разрешимости для формул, содержащих в предваренной нормальной форме кванторы одного типа
Если формула логики предикатов А содержит свободные переменные хмх2,...,хя, то формула В = Vx1Vx2...VxwA(xl,x2,...xn) называется замыканием обиргости формулы А, формула С = Зх1Зх2...Зх/1А(х1,х2,...х„ ) называется замыканием существования формулы А.
Проблема общезначимости формул логики предикатов с предваренной нормальной формой с кванторами одного типа решается с помощью следующих теорем.
Теорема 3.10. Если замкнутая формула логики предикатов в предваренной нормальной форме содержит только кванторы существования, число которых равно п, и тождественно истинна в любой области, состоящей из одного элемента, то она общезначима.
Доказательство.
Теорема доказывается методом от противного. Пусть формула А в предваренной нормальной форме имеет вид 3 -формулы, т. е. A = 3xv3x2..BxnB^1,q2,...,P',P2Q^Q^v-Y где ^— бескванторная
формула, ^, — логические переменные, Р' — одноместные предикаты, Q2 — двухместные предикаты и т. д.
По условию теоремы на любой области М = {я}, содержащей один элемент, Д = 1, но тогда будет тождественно истинной и формула В^х,дг,..., Рх Qi\Pi(p\...,QxQi,a^,Q^a,aX--\ Эта формула является формулой алгебры логики.
Предположим, что формула А не является общезначимой. Это значит, что существует такая область Мх и такой набор значений переменных qx-q3.v-,P'^xl\Pi\x^...,Q^xl,x\QiXxi,x^\..., х^х^М^ на котором формула А принимает значение 0, т. е.
3x,Bx1..ax,]B^,q»,...,P^xi\p'(xi\..,Q^xi,xi'\Q^x,,xJ\.^=0.
Тогда ik^ltoj?]^^
Следовательно, формула
Р,' (х,} Р’ (х,\..„Qf (х,, х,) Q2 ^, х,\.} тождественно истинна независимо от выбора предметных переменных из области М х. Выберем одно значение л0 € М х и поставим его в последнюю формулу вместо всех предметных переменных.
огда S^/T^/T^V^^o^Tl^^1 ’
т. е. B^,q”Р’ (х„ ), Л‘ (х„ ),..., Q2 (х0, Л„ ), ^U^o ),...)= О, что противоречит тождественной истинности формулы
5^, ,q2,...,P,' (a), Pi (<a\..,Q^a,a\Q[(a,a),...).
Таким образом, предположение, что формула А не является общезначимой, неверно. А —общезначимая формула.
Теорема 3.11. Если замкнутая формула логики предикатов в предваренной нормальной форме содержит только кванторы общности, число которых равно п, н тождественно истинна на всяком множестве, содержащем не более чем п элементов, то она общезначима.
Н
Теорема доказывается способом, аналогичным способу, примененному для теоремы 3.10.
Пример 5. Доказать тождественную ложность формулы ЗхэДр^-* F^л (f(x)^ F^a f(x^ ЗхзД?\х)у F^a л ^F^v F^a f^ ЭхЭу((?(х) v F^a ^(x)a F^v F^a а Р(х^>3х3у^(х^ F^aF^V F(x))^ ЗхЗу^А F^a a F^v (f^aF^a F(x)^ My(0 v0)=0.
Пример 6. Привести к предваренной нормальной форме следующую формулу логики предикатов:
В = Vx7?(x)v HxQ(x, у) = 3x7?(x)v Нхб(х, у) = 3x(/?(x)v Q^x, у)) Требуемая форма получена. В данном случае формула содержит только один квантор существования, следовательно, ее всеобщность зависит от вида предикатов к(х) и <2(х, у). Если Вх!б М, что В = 1, то она общезначима.
3.7. Практическое занятие №8. Выполнимость формул логики предикатов
На множестве М определены одноместные предикаты F(x^ и G(x). Каким условиям удовлетворяют области их истинности, если истинны:
Vx(F(x)^ G(x))a3x(f(x)a G(x));
3x(f(x) л G(x)) л 3x(F (х)G(x)).
Выполнимы ли следующие формулы:
3xF(x);
ЭхУу^2(х,х)ле(х,у));
3xVy(e(x,y)->Vz«(x,y,z)).
Являются ли тождественно истинными следующие формулы:
ЭхР(х)—> Vx?(x);
VxP(x)—>3х?(х);
((a)<AvA «- b^^d <- 6)хд (a :((x)Qxe<-(x)jxe)<-((x)5<-(r)j>A (9
:((x)QxA <-(г)^д) «-((x)0 «-(х^хд (в
:IfXиdoф хитснХтгэко чюокиьвн^Шдо члвееяо^ '8'ДТ
(((2‘х)Я2д<-(Х‘х)51(д)<-(х)(/)хе (9
‘.^‘х^ахе^^^О^хд (в :э^мdoф MonqirewdoH иояэяоиэиХяэ я HioaaHdy 'LLX •((^^^^(^^ха (а
^‘х^Лдхе^-^х^дхе (J
^■‘х^Гдхел^х^Лдхе (а
^‘х^дхеу^х^Лдхе (д
^и-гЧ^^идгЕ-УдхЕ (в
:и^Е1;Х^оф ииlчнdoлнEaяoдg 9 и ^ велико ‘яoлвяиV9du имиа
-он lЧIfX^мdoф эиТпсиХеэео 9wdoф MOHaifBwdoH HOHHddEan’odu я Hxooandjj ^‘Д'^ (э v(x)(/)xA = э v(x)./xA (9
:(х)</хд=(х)</хЕ (в
:ол 1 х иинэ^соха хин^одоао хиждэ^оэ ан о ииоэ олк ‘члеееяо^ '^'Д’С
■((х)5хеу(х)</хд) <-((х)5 ^(х)^хд (я
■^Qx/X V (х)^) ^((А')5 <-(х)^хд (9 ^^^^(х)^ (в :IfXwdoф xMirtoiXtfoifo члооннилои 01Хннэялоэ1Гжол члееемо^ "VLX
■(■2 <-((х)9 <- ^х^((И9<-^) v(x)(/)xE (а
‘\^^^а (»
1(Гх)5хе-(а<-(л:‘х)(><дхе (j
:((х)0а(х)</)хе^(х)5хел(х)(/хе (Я
191191eoieMHtfedu bmhjou g eaei/J-
191
191
Доказать тождественную ложность формулы
Пусть о = {РрЛ’--’^ L где Р1,Р21...,Рп —одноместные предикатные символы. Доказать, что для любой формулы А сигнатуры о существует формула В, эквивалентная А, построенная с помощью a, v и из В -составляющих, т. е. формул вида Нд^В, л В2 л... л Bs), где s > 1 и Bj (1 < i < и) имеют вид Р^ или Р^ для некоторого Р из о.
3.8. Применение языка логики предикатов для записи математических предложений
При переводе словесных выражений в логическую символику надо иметь четкое представление об интерпретации этой символики. Поэтому необходимо четко очертить множество М , содержащее все высказывания, к которым применяются логические методы и приемы. Затем надо выбрать перечень предикатов, которые будут служить основными независимыми предикатами, участвующими в формулировках. Каждый из этих предикатов становится высказыванием, когда все его переменные будут элементами из множества М , называемого предметной областью.
Полностью решить логические проблемы, возникающие в "словесных" языках, можно было бы только переведя все фразы в символику используемого исчисления, а затем пользоваться только формальным аппаратом этого исчисления.
Кванторы сочетаются друг с другом и логическими связками многими способами, поэтому переводы выражений, содержащих кванторы, обычно неоднозначны. Однако в некоторых областях знания, в частности математике, этот перевод наиболее естественен. Сам язык логики предикатов очень удобен для записи математических предложений. Он дает возможность выражать логические связи между понятиями, записывать определения, теоремы, доказательства. Выбор перечня необходимых предикатов, описывающих заданные свойства или условия, также сравнительно прост. Рассмотрим несколько примеров.
Запись математических определений
Определение бесконечно малой функции. Функция ct(x) называется бесконечно л<алой при х—^ а, если lima(x)=0. Это классическое определе-
Глава 3. Логика предикатов 169 ние, представляющее, по сути дела, определение предела функции, равного нулю. Перепишем это определение на языке е — 8:
Нша(л)= 0 <=> Ve > ОН8(е)> 0 VxG Ма(х\Р(х,£,&У
где P(x,e,5)=(0< |x- a\ < 8 —> |а(х)| < e) — трехместный предикат, определяющий условия предельного перехода.
Определение экстремума функции (минимума в точке х0, рис. 3.8).
Зх0 е М Vx, е М Vx2 е М Р(х$, xt, х2),
где
/’(х^Х, ,Х2)= ((xt < *о)~ЛД*! )> /к)))л ((*2 > ^о)^№2)> /М) Здесь использован трехместный предикат Р(х0,х1,х2).
Определение выпуклости (вогнутости) функции /(х) (рис. 3.9).
Если во всех точках интервала ^а,Ъ\ вторая производная f“kx^ <0, то /(х) на (я,б) выпукла. Это можно выразить совсем просто с помощью следующего выражения: VxG (а,^)(з f^^x^ /^(х^ о). Использован одноместный предикат Р(х).
Определение четной функции.
Функция /(х) называется четной, если область ее определения симметрична относительно начала координат и для каждого х из области определения выполняется равенство /(х) = /(-л). Тогда Vxe М^-хе M)a(/Cv) = Г-хЖ
Формулировка математических теорем
Теоремы математики допускают формулировки в виде условных предложений. Говоря о строении многих теорем, можно выделить в них три части: условие теоремы— предикат Р^х^, заданный на множестве R1; заключение теоремы— предикат Q(x), заданный на множестве R2; разъяснительная часть, описывающая множество объектов, о которых идет речь в теореме.
Например, строение теоремы может быть таким: "Если любой элемент х из множества М обладает свойством Р(х), то он обладает свойством йкхУ'. Таким образом, теорема формулируется так: Vxe М^Р^х^Q^.
Вспомним, например, теорему о конечных приращениях (теорему Лагранжа). Если /(х) непрерывна на [a,b] и дифференцируема на ^а,ьУ то найдется на (а,б) такая точка с, что
Пусть предикат Р(а,Ь, х) выражает свойство функции у = /(х) быть непрерывной на [a,b] и дифференцируемой на (я,Ь), а <2(й,6,с) = = ^bVf(a)=AcXb-ajy Тогда сама теорема Лагранжа может быть сформулирована так: Все (a,bXp(p,b,x)^Q(a,b,c)).
В свою очередь, предикат Р^а,Ь,х^ может быть расшифрован более подробно:
/(х) непрерывна в точке х0, т. е. lim/(х) =/(х0) или Vs>0HS>0Vxe е m(o<|x-xo|<S^|/(x)-/(xo)|<e), где М —область определения /(х);
/(х)непрерывнана[a,d
или Vye[a,Z<|(VE>03S>0VxeM(0<|x-y|<S^|/(x)-/(y)|<E)).
Аналогично с помощью языка s —8 может быть выражено свойство дифференцированности на (а,б). Напомним, что если существует производная
j\x) в точке х0,то пт= J \х0/. Излишняя детализация ус
ловий часто не нужна, т. е. можно ограничиться формулой 3cG U,bj.P^QY
форма теоремы может быть иной. Рассмотрим следующую теорему из линейной алгебры.
Любые четыре вектора в R линейно зависимы. Эта теорема может быть сформулирована в виде Ухе R Р(х), где Р^х^ — доказываемое свойство (предикат, выражающий это свойство). Действительно, пусть а,Ь, с и d — векторы из R3, а а,р,у и 5 — ненулевые действительные числа. Тогда
VaG R3Vbe R34ce R3Vde R33ae K\{o}3|3g 7?\{o}3yG 7?\{0}35g R\\ {0}((M + PZ? + ус + &d = о).
Построение противоположных утверждений и доказательство методом от противного
Это задача, легко сводящаяся к формальным преобразованиям. Если есть утверждение А, то построить А можно с помощью равносильных преобразований. Иногда это, правда, приводит к тому, что А дает негативное (неконструктивное) определение. Чаще и здесь получаются положительные (конструктивные) определения.
Например, возьмем определение бесконечно малой и найдем его отрицание vF^Tolis^EjiroVrG-^^= Эе > О V6(е)> 0Эхе М
^< |х - л| < 5 v|а(л)| < е)= Эе > О У5(е)> 0Эле М^ <|х -а| < 5 л|а(х)| > е). Это негативное определение. Оно подойдет для формирования контрпримера для того, чтобы доказать, что а(х) — не бесконечно малая величина в точке а . Позитивное определение бесконечно большой такое: Нта(л)==«, т. е. Ve > 0 95 > 0 Ухе М^р < |л - я| < 5 -» |сх(х)| > е).
Особый интерес представляет построение утверждения, отрицающего справедливость некоторой теоремы: Ухе Л/(р(л)-> <2(л)).
Ухе M(p(x)—>Q(x)) = Bx6 м{р(х)л Q(x^. Следовательно, чтобы доказать, что теорема Ух Е М(р(х) —> Q(x)) неверна, достаточно указать такой элемент хе М, для которого Р(х) истинно, a Q(x) ложно, т. е. привести контрпример. Продемонстрируем это на следующем примере. Рассмотрим утверждение "если функция непрерывна в точке х0, то она и дифференци-
руема в этой точке". Конечно, это не так. Из курса математического анализа известно, что дифференцируемость более строгое требование. Из дифференцируемости следует непрерывность, из непрерывности дифференцируемость не следует. Сформулируем основное утверждение.
Пусть М — множество всех функций, определенных в точке х0, р(/) — предикат, выражающий свойство функции быть непрерывной, а (?(/) — свойство быть дифференцируемой в точке х0. Тогда основная теорема имеет стандартный вид V/ G М(/*(/)—»<2(/)).
Противоположное утверждение имеет вид 3/G м(р(/)л <2(/)), т. е. найдется функция, определенная в точке х0, которая непрерывна, но не имеет производной в х0.
Таких функций множество, это все функции, содержащие точку излома или точку возврата. Простейшая из них у = |х| (рис. 3.10), В точке х = 0 она непрерывна, но не дифференцируема. Следовательно, основная теорема неверна. Аналогично обстоит дело и с формой VxP(x). Рассмотрим уже разобранный пример из линейной алгебры и найдем к нему противоположное высказывание.
Vqg R3Vbe R3X/ce R3X/de R33ae Z?\{o}3Pg Я\{о}Эуе Я\{о}Э8е Я\\Й^а + рб + ус + М^о) = За е Z?33i е К3Зсg R3Bd g R3Va е R \ {o]vpеG 7?\{0jVyG K\{0]V8g K\{o]^a + pK+Yc + 87Go)s3aG R33be R33cE
G R33dE R3 VaG K\{o}vpG R\{o}VyG 7?\{0}V8g K\{0}(aa + PA + ye + &d Ф o).
Схема доказательства от противного очень похожа на только что рассмотренный случай и такова: предполагается, что теорема VxG Л/(р(.х)^ Q(x)) неверна, т. е. истинно противоположное утверждение Мх^ М(Р(х) —> £) (л))= г Зле М^Р^а 5(л)) Если из последней формулы путем логических рас- суждений приходят к неверному утверждению, то делается вывод о том, что исходная теорема верна. По этой схеме противоположное высказывание надо свести к ложному, т. е. доказать истинность формулы УхёТПИхУТГоЫТ с л с, где с — некоторое высказывание. Действительно, VxeM(p(x)->2(x)) -> с л с = Vxe M^x^Q^ v (с л с)= гУхе m(p(x)^Q(x)).
Формулировка обратных и противоположных теорем
Рассмотрим четыре схемы теорем:
УхеМ^х^й^);
Ухе М^х^Н Р(х));
Vxe м(?Д->оД);
Ухе М^х)^ р(х^.
Две теоремы, у которых условие одной является заключением другой, а условия второй заключением первой, называются взаимно обратными, т. е. Ухе м(.Р(х) —>Q(x)) и Vxg Af(e(x)->P(x)) взаимно обратны и Ухе М^НЛ ^QvP) и Ухе м(сЫ-^рЫ) также взаимно обратны. Первая теорема обычно называется прямой теоремой, а вторая — обратной.
Две теоремы, у которых условие и заключение одной являются отрицанием условия и заключения другой, называются взаимно противоположными.
В нашей схеме Vxe Af(?(,v)-»Q(x)) и Vx g M^P^ —э 0(x)) — взаимно противоположны и \УО^О^-> ^х^ и Vx G M (q(x) —> Р^хУ) также взаимно противоположны. Прямая и обратная теоремы в общем случае не равносильны, т. е. одна из них может быть истинной, а другая ложной. Но теоремы 1 и 4 и 2 и 3 всегда равносильны, и это легко доказывается:
Ух е м(р(х) -^ Q(x))s Ух е м(р(х) v Q(x)] = Ухе М^pQvQOU еУхе M^2(x)vPUy)=yxe M^QUIvKx)^ Ух е M^qQ -^Кх)\
Аналогично Vx G М^(х) —> Р(х))= Vx G М (/Чх) —> Q(x)).
■ Пример 1. Возьмем простую теорему из теории дифференциальных уравнений. Пусть у + ахУ + а2у = 0 — линейное однородное дифференциальное уравнение с постоянными коэффициентами, а уДх) и у2(х) — два частных решения этого уравнения из множества М всех частных решений. /’(урУз) — предикат, выражающий тот факт, что у^х) и У2(^) являются частными решениями уравнения у/У -Ю^у' +а2у = 0, a Q(S)= у,(л:)+ у2(х) — также частное решение этого уравнения.
Если у,(х) и у2(х) — два любых частных решения уравнения у" + ахУ + а2у = 0, то У](х)+у2(х) есть также решение этого уравнения.
Итак, основная теорема Vy1Vy2 € М(Р(у],у2Ье®) верна. Тогда обратная теорема Vy(Vy2 G М(^(е)—> Р(уиу2)) неверна. Действительно, она звучит следующим образом: "если У](х) + у2(х) решение уравнения у" + аху' + а2у = 0, то уДх) и у2(х) тоже решения этого уравнения". Противоположная теорема VyjVy2 € м(р{у^ также неверна, ибо утверждает, что "если у/х) и у2(х) не являются частными решениями уравнения у" + аху’ +а2у = 0, то У](х)-ьу2(х) также не частное решение этого уравнения". Наконец, теорема, противоположная обратной VytVy2 G M^Qkti —> Р(у?, у2)), верна: "если У((х)+у2(х) не является частным решением уравнения уУ/-Ю^у'+д2у = 0, то yt(x) и у2(х)— также не частные решения данного дифференциального уравнения". Проверим все сделанные утверждения на простейшем примере.
УИ +у' -2у = 0, &2+£-2 = 0, kx =1, ^2 = -2, у, = е\ у2=е^х.
Истинность основной теоремы проверяется подстановкой
У| + У2 = е' + е~2’. У> + У2 = е* - 2е'2х, у" + у" = е' + 4е2\ у" + у * - 2 у = ех + 4e"2x + ех - 2е'2х - 2ех - 2е"2х = 0.
Проверим истинность обратной теоремы. Пусть
h + У2 = Ji + Ьh + У2 = Ji + Ьех + е"2хех + е"2хе2х +2e-' +е-4х е2х+2е"х е^х ех+е"2х+ ех +е^’
h + У2 = Ji + Ь
h + У2 = Ji + Ь
ех + е"2х
ех + е"2х
^2л+2с л ~ е"Лх
тогда, например, ^ + >*2 ~ 2^2 * 0, т. е. обратная теорема неверна. Точно также проверяется истинность всех остальных ранее высказанных предложений.
Формулировка необходимых и достаточных условий
Некоторые теоремы математики, в частности теоремы существования, сформулированы в виде "... для того чтобы..., необходимо и достаточно, что...", или " ... тогда и только тогда, когда...". Эта конструкция приводит к эквива- ленции, т. е. имеет вид Vx G mU-Kx) <-> Q(x)) . Если вернуться к уже рассмотренной форме Vx G М^р(,х)^qU) , то можно вспомнить, что в импликации предикат Qkx^ логически следует из предиката Р(х), поэтому Р(х) называют достаточным условием для ^(х),а Q^x^ называют необ-
( Д н ходимымусловием для Р(х) : VxеМ P(x)^Q(x)
Если теорема имеет форму VxG Af^xfo^W), то Vxe Af(p(x)^ 2(х> Vxg M^x^Q^V WH ?<* = VxG M(p(x)—> <2(x))a VxG M(<2(x)—> P(x)).Таким образом, P(x) является необходимым и достаточным условием для Q(x), a Q(x) необходимо и достаточно для Р(х).
Пример 2. В следующих предложениях поставить слова "необходимо, но недостаточно", "достаточно, но не необходимо", "не необходимо и недостаточно" или "необходимо и достаточно".
Для того чтобы х2 - 5х + 6 = 0..., чтобы х = 3.
Пусть Р(х) = (х2-5х + 6 = о), <2(х) = (х-3). Корни уравнения
-5x4-6 = О равны х, = 2, х2 = 3. Рассмотрим V.X е {г.З^Сг) -» еГг)^ . При Л- = 2, ?(2)=1. <2(2) = О, I —> 0 = 0, т. е. Р^х) ^{х). Следовательно, для Р(х) <2(х) не является необходимым. Теперь рассмотрим противоположную импликацию
Х/хе {2,3}^<2^)-> Р^)^ ■ Здесь при х = 2, Р(2)=1, g(2)= О, О —»1 = 1 и при х = 3, р(з)=1, е(з)=1, i^i= 1, вторая импликация верна. Значит, для Р(х) g(x) является достаточным условием. Итак, первоначальное предложение должно быть сформулировано следующим образом: "Для того, чтобы х2 -5х + 6 = 0 достаточно, но не необходимо, чтобы х = 3".
Пример 3. Для того чтобы функция /(х) была интегрируема на отрезке [a,b],..., чтобы /(х) была ограничена.
Пусть р(х) — предикат, выражающий свойство функции /(х) быть интегрируемой на [a, bl, а предикат <2(х) выражает свойство ограниченности этой функции на отрезке [r/,bj. Из курса математического анализа известно, что если функция интегрируема по Риману на [а,б], то она и ограничена; если же функция ограничена, то из этого не следует ее интегрируемость по Риману. Как пример можно привести , х [ 1, х — рациональное,
функцию Дирихле dyx^AТаким образом,
[О, б — иррациональное.
VxG [а,&]^/^х)^ (2^ и Vx[a,h]^2^x)^ P(x)j, т-е- ^я б(х) является необходимым, но не достаточным условием. Итак, для того чтобы функция /(х) была интегрируема на отрезке [a,bl, необходимо, но не достаточно, чтобы /(х) была ограничена.
3.9. Практическое занятие №9.
Применение языка логики предикатов в математике
Записать на языке логики предикатов следующие определения:
Двух равных вещественных чисел (Два вещественных числа х и у называются равными х = у, если не выполнено ни одно из соотношений х > у или у > х).
Ограниченного сверху (снизу) числового множества А (Множество Ac R называется ограниченным сверху (снизу), если существует
такое вещественное число хт, что для всех чисел яе А выполнено условие а<х„ (а>хтУ).
Линейно независимых векторов хх,х2,...,хк (Векторы xl,x2,...,xi(. называются линейно зависимыми, если существуют такие вещественные числа ама2,...,аА, не все равные нулю, что о^х, + а2х2 А-...А-а.кхк =0. В противном случае векторы xv,x2,...,xk называются линейно независимыми).
Определение двух перпендикулярных векторов из R (Два век-гора а и b из R3 перпендикулярны, если их скалярное произведение равно нулю).
Предела числовой последовательности {хи}. (Последовательность {х„} называется сходящейся к числу х, если существует такое число х, что для любого £ > 0 найдется такой номер N = N^y\ что при всех n>N имеет место неравенство |х,;-х|<£. х называется пределом последовательности {хл}.)
Строго монотонной последовательности. (Последовательность {хн} называется возрастающей (убывающей), если при п = 1,2,... xn+t>xn (усп^ <хн\ Возрастающие и убывающие последовательности называются строго монотонными.)
Фундаментальной последовательности {х,}. (Последовательность {хп} называется фундаментальной, если для любого £ > 0 найдется такой номер N = N^, что при всех п,1 > ^(£) выполняется неравенство |х?1 -xj<£.)
Периодической функции. (Функция /(х) называется периодической, если существует такое число Т ^0, что при любом х из области определения функции числа х-Т и х + Т также принадлежат этой области и выполняется условие /(х ±
Монотонно возрастающей функции. (Функция /(х) называется монотонно возрастающей, если из неравенства xv<x2,xvx2eM следует, что J?W<fdd)
Предела функции /(х) при х—>+«>. (Число А называется пределом функции f(x) при х—>+©о, если для любого £>0 найдется ^(s) > 0, что при всех х е М , удовлетворяющих условию х > N, выполняется неравенство |/(х)- А| < 8.)
Сформулировать на языке логики предикатов следующие теоремы из математического анализа:
Признак Лейбница. (Пусть хи>х„+|>0 и Пт х(1 = 0, Тогда знакочередующийся ряд ^(“l^'x,, сходится.)
Теорему Вейерштрасса (Непрерывная на отрезке [п,б] функция /(х) ограничена на этом отрезке.).
Теорему Ролля. (Пусть функция /(х) непрерывна на отрезке [n,b], дифференцируема на интервале (n,Z?) и /(п)= /(b), тогда найдется хотя бы одна точка се (a,b) такая, что f'(c) = 0.)
Теорему о среднем для определенного интеграла. (Пусть функция /(х) непрерывна на отрезке [a,b]. Тогда существует такая точка
ь
се [а,/)], что ^/(хУх = /(сХЬ-аУ)
Критерий Коши для последовательностей. (Для того чтобы последовательность {х„} была сходящейся, необходимо и достаточно, чтобы она была фундаментальной.)
Доказать несправедливость утверждений:
Если функция /(х) интегрируема на отрезке [a,b], то она монотонна на этом отрезке.
Если дифференцируемая функция /(х) имеет в точке х0 вторую производную, равную нулю (///(х0)= о), то точка х0 — точка экстремума функции.
Если функция /(х) ограничена на отрезке [a,b], то она интегрируема (по Риману*) на этом отрезке.
Если функция /(х) дифференцируема в точке х0, то она имеет в этой точке локальный экстремум.
Если функция /(х) представима рядом Тейлора на отрезке [л,/?], то этот ряд сходится к /(х) во всех точках этого отрезка.
Если формула логики предикатов выполнима, то она общезначима.
Используя приведенную основную теорему, сформулировать к ней обратную, противоположную и обратную к противоположной теореме, и проверить их истинность, приведя необходимые примеры.
Если в четырехугольнике диагонали взаимно перпендикулярны, то этот четырехугольник — ромб.
Пусть функция /(х) непрерывна на отрезке [a,b] и на концах этого отрезка принимает значения разных знаков. Тогда между точками a и b найдется по крайней мере одна точка ce(a,Z>), в которой функция обращается в нуль: /(с) = 0.
Если функция /(х) дифференцируема в некоторой точке х0, то она в этой точке непрерывна.
Если дифференцируемая функция /(х) имеет в точке х0 максимум или минимум, то ее производная обращается в нуль в этой точке.
Если числовой ряд ^ип сходится, то его п -й член стремится к ну
ЛЮ при п —> +°О .
Дополнить следующие предложения словами "необходимо и достаточно", "необходимо и недостаточно", "достаточно, но не необходимо" или "не необходимо и недостаточно", сформулировав необходимые и достаточные условия.
Для того чтобы два треугольника были равны,..., чтобы все углы одного треугольника были равны соответствующим углам другого.
Для того чтобы все стороны многоугольника были равны,..., чтобы этот многоугольник был правильным.
Для того чтобы два вектора в R? были линейно зависимы,..., чтобы они были коллинеарны.
Для того чтобы функция У = С1у1 + С2у2 + ••• + Спу„, где СХ1Сг,...,Сп — произвольные постоянные, была общим решением дифференциального уравнения у^^ + а1у^"1^ + ... + аиун =0,..., чтобы функции У1,У2^--?УИ были линейно независимыми решениями этого уравнения.
Для того чтобы функции F](x) и F2(x) были двумя первообразными от функции f(x) на отрезке [а,/?],..., чтобы разность между ними была равна постоянному числу.
Глава 4
Исчисление предикатов
Синтаксис языка исчисления предикатов
Исчисление высказываний —• очень узкая логическая система. Есть такие типы логических рассуждений, которые не могут быть осуществлены в рамках исчисления высказываний, например, "простое число два— четное, следовательно, существуют простые четные числа". Корректность этого умозаключения основана на внутренней структуре самого предложения и на смысле слова "существует". Поэтому возникает потребность расширения исчисления путем введения в него дополнительных понятий и символов. Дополнительными понятиями являются предикаты, а символами — символы кванторов.
Для того чтобы формально описать язык исчисления предикатов как язык формальной теории, необходимо задать множество его символов и правила построения формул языка, т. е. синтаксис.
В алфавит исчисления предикатов входят:
строчные латинские буквы с индексами и без них a,b, с,...х, y,z,..xi\v..x^ — предметные переменные;
прописные латинские буквы с индексами внизу и без них Л, Д..., Д, Д2,„. — переменные высказывания;
О прописные латинские буквы с индексами вверху Fp ,GP ,...,SP „Тр и эти же символы с индексами внизу Fp, Fp ,GP ,GP ,...»SP ,S^ — переменные предикаты от p переменных;
О символы логических операций a,v,—>, ;
О скобки и запятые (,),,;
О символы кванторов V, 3.
Так же как в исчислении высказываний, в исчислении предикатов определяется формула и подформула. Формулой считаются следующие последовательности символов алфавита:
каждое переменное высказывание;
Fp(aXla2l...,a^— формула, если Fp — символ переменного предиката, a ах,<ц,...а —символы предметных переменных;
если А — формула, содержащая переменную х, то слова VxA и ЗхА также формулы, причем переменная х в VxA и ЗхА называется связанной;
если А и В формулы, то А л В, Av В, А—» В, А тоже формулы.
Примеры формул:
Зх/^ (х)^ VyG2(y, z). Это формула, т. к. G2(y,z)— предметный предикат, содержащий две свободные переменные, т. е. элементарная формула, VyG2(y, z) — также формула, содержащая свободную переменную z и переменную у, связанную квантором всеобщности. В формулах F^x) и G2(y, z) нет переменных, связанных в одной формуле и свободных в другой.
Эх/^(х)лЗуС2(х,у) — не формула, т. к. в F' (х) переменная х связана, a G2(x,у) свободна.
Подформулой элементарной формулы А является, во-первых, она сама. Если VxA или ЗхА—• формулы, то А — подформула, и всякая ее часть— подформула. Если А* В формула, где * = {\,v,—», ), то ее подформулами являются А и В и все их подформулы.
Вводится понятие области действия квантора. Пусть формула имеет вид VxA или ЗхА. Тогда областью действия квантора Vx (соответственно Зх) называется формула А. При этом необходимо, чтобы выполнялись следующие условия:
В формуле свободные и связанные переменные обозначаются разными буквами.
Если какой-либо квантор находится в области действия другого квантора, то переменные, связанные этими кванторами, обозначаются ||азными буквами.
Нарушение этих двух условий в исчислении предикатов называется коллизией переменных. Например, выражение V^^x)^ 3xG(,v, ^)) не является формулой, т. к. не удовлетворяет второму условию.
Теорема 4.1. Если в формуле А изменить обозначения как свободных, так и связанных переменных, меняя букву на другую всюду, где она входит, так, чтобы при этом удовлетворялись первое н второе условия, то полученное таким образом новое выражение будет формулой.
2. Аксиомы
и основные правила вывода
Аксиомы входят в конечное число некоторых заданных формул, которые заранее считаются выводимыми. Аксиомы делятся на пять групп, причем первые четыре группы представляют собой не что иное, как аксиомы исчисления высказываний.
la^(b-^aY
(А —> (S —> С))—> ((А —> В) —> (А —> С));
П. 3. А Л В -4 А ;
А Л В -Л В ;
(А -^ В^ ((А —> С)—> (А —> В л С));
Ш. 6. A^AvB;
В^ Av В;
(А—> С)—> ((В—> С)—> (Av В—> С));(4.2.1)
(А-^В)^^-^ а);
VI. 10. А-^ А;
И. А-> А;
V. 12. VxF(x)—> F(y);
F(.y)-*HxF(x).
Рассмотрим теперь несколько правил образования выводимых формул. Заметим, что секвенции в исчислении предикатов определяются так же, как в исчислении высказываний.
Правило заключения (.простого заключения). Оно такое же, как в исчислении высказываний, только объем формул, к которым применяется это правило, шире.
|-А;|-А—
Правило подстановки. В исчислении высказываний заменялись только переменные высказывания в выводимой формуле на любую формулу. В исчислении предикатов можно заменять переменные высказывания и переменные предикаты. Это требует учета некоторых дополнительных условий, чтобы в результате подстановки получилась формула исчисления предикатов.
Замена переменного высказывания. Пусть формула А(в) содержит переменное высказывание В. Тогда можно заменить В любой формулой G , удовлетворяющей следующим условиям:
свободные переменные в G обозначены буквами, отличными от связанных переменных в А, и связанные переменные в G — буквами, отличными от свободных переменных в А;
если В в А находится в области действия квантора, обозначенного какой-то буквой, то эта буква не входит в G . Тогда
J(4s)) |-4g).
■ Пример 1. Пусть Л(В) = УхХ/у(с v MzH^z, л)л (с v р(.х,у^. Здесь С нельзя заменить, например, формулой \7xG(x) или Зх/^х), т. к. не будет соблюдаться второе условие коллизии переменных. Замена же высказывания С формулой MzMt\Cл H^zJ^v L/\F^z,t^ возможна, т. к. оба условия будут выполнены. В результате получим выражение, являющееся формулой
VxVy(VzVf(C л H(z,t)v L л F^,t^v VzH^z, xVл VzVf(C л Zf(z,/)v L a FU,t))v F(x,y^).
Замена переменного предиката. Пусть формула ^(f) содержит пере- менный предикат F от п переменных и пусть имеется формула G^,^,...,^), содержащая п свободных переменных ^,/2,...,^. ^сли свободные переменные в G обозначены буквами, отличными от свя-
88
((-Y)v)f^A uro ((x)yrA)J
(В(ВнягХи^оф anTnoiXtfaifo наииг/аа
(В
(В
-Eduo нохе udjj -у XIfXwdoф а чхиГоха ннж1го1Г эн 'У11 г/‘'/ энниэи -adou энннэкаихо :ээТлснХп,э1го ‘ojox awodM ‘и вияоиэХ aqxadx и ooadou KOioiKHifouiaa у и (и/““‘с7“/)£) vXwdoф виТГ ииэа ‘вэхавнэн^и вмяон -exoCou ox ‘ д xExutfadu HHiiHdwadau хим^эКоо у виХ^оф ииэд "явх qxHEEdiqg онжом OEHSEdu ох£ (У)]" :wo£edgo wuTnoiXtfaifo вэхэвж
-Edna эвьХкэ иэ1пдо а EXBMUtfadu ojoHHdwgdau имаонвхоНои KutiEdauQ •аияоиэХ aqxadx oHomXdEH эмаонвхэ^ои udu оди ‘aoxEMui/ddu винэиэиьэи еиХ^оф эн oi£ '^х-^^x^f) х дух/х иинХиоц "(х^хд д охээия чхиавхоКои
опвн и ((^д Я^А = К чхэХи ‘оныиоитзну 'ЭиаоиоХ aoadau ouamXd -eh >i 1 ‘иоиХ^оф кохэвиав эн aodoxox ‘(x'^jx/х A^x^f) эинэжEdlqa во -хиьХвоц д охээия (x^fl axHoaxofou омиУохдоэн и ^дхд Ад = у qxoXu ‘ddWHduupj •иивlfX^5ldoф кээиТпопягав эн ‘кинэжEdlяя кэяхиьХвои xXjow ox ‘BoxoiBHifomqa эн киаовэХ aqxadx и aoadou эж ивэд
■^(О2^77^(12!М^1Е2А а((-< ‘л) н a(-v‘и)^леид^'е^ете = V
Киа яхэми хэСХд у EIrXиdoф
‘((2 ‘л)// л(х‘»)я)-1Е»А = (г‘V)J и ((^‘-^Н л(х‘/;)н)лЕ"А = (■< ‘^J uCJO^ •aiqHHOwadau aiqdBxo qxHXEdasoa и 'у 1Я1гХ^оф axoaw моЮкем а д oHaud Хман ‘яхвэитяа ончиэию этьХц* 'внжомЕоа Емаонвхэиоц ‘онявэхваоТГ -эго "dHaoLroX aqxadx и aoadau онэнвошча яээ1Г£ '^Г^Н ^^V^H^^k иoIfXиdoф д qxHHOWEE KaxaXgadi ^z (х^д л(Х ‘х^^Е^Е^Е = V чхоХи ‘da^HduBpj '('")v 8 01ээм эохэХи эоп'жвя хэХахэхэяхооэ £) a ,y---<^‘iy xiqnnawdddu ей иомея ‘(яхезнеемХ) чхиКэво онжХн aMHOHExaVou wdjj
• д BXBMHVddii
oxoaiAia у a д lЧLгXwdoф емаопЕхэпоц енжоиеоя evjox 5 £) а хипоха эн вамХд вхс ох ‘ХамХд одив-о1Хмвм оаэТпо1ванЕК8э ‘EdoxHEax вияюиэп’ ихэЕидо а вохипохен у а д ивээ :oirnaEdu aaTnoiXfaira и xiqHnowad -эй 1янэмЕ£ ounaEilu aoadau вохэвивошча "э х ‘ д a xiqiiHawadau хпннве
S81S81Boienntfadu еинеиэинои "Р bsbuJ
S81
S81
J (ЭхА (х)) есть Эх J (а(х))
| (ЭхА(х)) есть ЭхJ (а(х))
Замена свободной предметной переменной. Пусть формула А является выводимой формулой в исчислении предикатов, а формула А! получена из А заменой любой свободной предметной переменной другой свободной предметной переменной так, что заменяемая переменная заменяется одинаковым образом всюду, где она входит в А, тогда А' является выводимой формулой в исчислении предикатов. Например, \/МхЪ G^V WA -^ 3*<fa))- Заменим у на 2, получим Vx(F(x)^ G(z))a (f(z)—> 3xG(x)). Здесь нельзя заменить переменную у переменной х, т. к. свободная переменная должна заменяться только свободной переменной.
Правило переименования связанных предметных переменных. Если |— А в исчислении предикатов, то А1, полученная заменой в А связанных переменных другими связанными переменными, отличными от всех свободных переменных формулы А, также выводима в исчислении предикатов. При этом заменяемая связанная переменная в формуле А должна заменяться одинаковым образом всюду в области действия квантора, связывающего данную переменную, и в самом кванторе. Например, если Эх^х)-^ VxG(x), то возможны следующие варианты переименования: VzG(z) ИЛИ Зхр(х)~> VzG(z) или Зу^Су)—> VxG^x).
Приведем теперь два правила связывания квантором:
Если G —> А^х) — выводимая формула в исчислении предикатов и G не содержит переменной х, то формула G —> VxA(x) тоже выводима в ис- |-G^A(x) числении предикатов, т. е. Чг.
|-G->VxA(x)
Если А(х)—>G—выводимая формула в исчислении предикатов и G не содержит переменной х, то формула ЭхА(х)—>G тоже выводима в ис- числении предикатов, т. е. ;т-т.
|-ЗлЛ(х)-»С
^Другие правила вывода рассмотрим по мере необходимости. Их, как и в исчислении высказываний, довольно много.
3. Производные правила вывода в исчислении предикатов
Пусть О,Р,Ф — произвольные формулы, Г,ГРГ2,Г3 — конечные последовательности формул, возможно пустые, a G(z) получается из G(x) заменой всех свободных вхождений х на I, Г4 — конечная последовательность формул, не содержащая .х свободно. Тогда в исчислении предикатов верны следующие правила вывода:
Г,|-6;Г2|-^
—!—:правило введения конъюнкции.
Г,,Г2|—GaF
T|-GaF
И r|-G
" Г| G F " пРавило удаления конъюнкции.
r|-F
f|— G
F|-GvF
□ .' ।—правило введения дизъюнкции.
Г|- G v F
Г,|-СуГ;Г2,С|-Ф;Г2,Г|-Ф
—Цправило удаления дизъюнкции.
Г„Г2,Г3|-Ф
—Iправило введения импликации.(4.3.1)
Г,|-G —> F; Г2|-G
О. —Iправило удаления импликации.
r„r2|-F
Г.СН
Л —;—— правило введения отрицания.
r|-G
7 Зак. 4306
8.8.Г,С|-Г,С|-правило удаления отрицания.правило удаления отрицания.9.9.10.10.^ ^ — правило утончения.^ ^ — правило утончения.11.11.—— — правило расширения.—— — правило расширения.12.12.13.13.г,,лс,г2|-фГ,,С,С,Г2|-Фгмс,г2|-фг,,лс,г2|-фГ,,С,С,Г2|-Фгмс,г2|-ф— правило перестановки.— правило перестановки.правило сокращения.правило сокращения.14.14.15.15.г4|-(?М F4|-VxG(x) r|-VxG(x)г4|-(?М F4|-VxG(x) r|-VxG(x)— правило введения квантора всеобщности.— правило введения квантора всеобщности.16.16.r|-G0Г|-ЗхС(х)r|-G0Г|-ЗхС(х)— правило удаления квантора всеобщности.— правило удаления квантора всеобщности.— правило введения квантора существования.— правило введения квантора существования.
8.
8.
Г,С|-
Г,С|-
правило удаления отрицания.
правило удаления отрицания.
9.
9.
10.
10.
^ ^ — правило утончения.
^ ^ — правило утончения.
11.
11.
—— — правило расширения.
—— — правило расширения.
12.
12.
13.
13.
г,,лс,г2|-ф
Г,,С,С,Г2|-Фгмс,г2|-ф
г,,лс,г2|-ф
Г,,С,С,Г2|-Фгмс,г2|-ф
— правило перестановки.
— правило перестановки.
правило сокращения.
правило сокращения.
14.
14.
15.
15.
г4|-(?М F4|-VxG(x) r|-VxG(x)
г4|-(?М F4|-VxG(x) r|-VxG(x)
— правило введения квантора всеобщности.
— правило введения квантора всеобщности.
16.
16.
r|-G0
Г|-ЗхС(х)
r|-G0
Г|-ЗхС(х)
— правило удаления квантора всеобщности.
— правило удаления квантора всеобщности.
— правило введения квантора существования.
— правило введения квантора существования.
— правило сведения к противоречию.
17.17.Г4,С(х)-Я
17.
17.
гправило удаления квантора существования. Г4,3хб\х]- Н
Некоторые теоремы исчисления предикатов
Так как все формулы, выводимые в исчислении высказываний, являются также выводимыми в исчислении предикатов, то, совершая подстановки в выводимые формулы исчисления высказываний, можно получить новые вы-/ водимые формулы исчисления предикатов. Обнаружить выводимость фор-
мулы в исчислении высказываний не представляет особого труда. Для этого нет необходимости проводить ее формальный вывод, достаточно установить, что формула является тождественно истинной в смысле алгебры высказываний.
Например, -ДуД. Г (Л v AJ= — F(x)v F(x). Можно взять и более
длинную формулу |— А -э (5 л С —■» 5) а А = 1, тогда
элДх^//^)
J (/) = |- А —> (BxF(x)a VyH^ —> 3x7^))a А. в.с
Все производные правила, выведенные для исчисления высказываний, остаются в силе в исчислении предикатов, например правило сложной подстановки и сложного заключения, правило силлогизма и др.
Выведем последнее упомянутое правило — правило силлогизма
\-G^D\-G^Dj В исчислении предикатов это правило выводится
\-G^D
\-G^D
из доказуемой формулы (А—> В)—> ((В —» С) —> (А —» С)). Поскольку правило подстановки в исчислении предикатов имеет место, то |-(б —> F)—> ((Г —> D)^ (fi —» О)). Коллизии переменных здесь не может возникнуть, т. к. иначе имела бы место коллизия в какой-нибудь из формул G, F или D либо между переменными какой-нибудь пары этих формул. Одиако каждая пара представляет импликацию G —> F,F —> D или G —» D , поэтому коллизия имела бы место по крайней мере в одной из этих пар, чего по предположению нет, т. к. все эти пары входят в правило силлогизма.
Тогда по правилу сложного заключения
|~ G —> F; |-F —> Д |- (,G^F^ ((F -^ О) ^ (G ^ Р^\-G^D
Выведем еще одно производное правило вывода исчисления предикатов — правило связывания квантором j.
Пусть дано [—С?(х), В исчислении предикатов выводима формула А—» В.
G(x)
Тогда применим подстановку J (А —> 5) = |- А -> G^x). Осталось восполь- в
зоваться первым основным правилом связывания квантором |-G^A(x)\-A^G(x)
т3гх» где G не содержит переменной х. Итак, г-1т-т.
|- G VxA (х)Р Р|- А -» VxG(x)
Можно предположить, что А не входит в G^x), т. к. ее всегда можно так выбрать.
Далее. пусть Ф — произвольная выводимая формула. Тогда ф
J (А -> VxG(x)) = |- Ф —> VxG(x). Наконец, по правилу простого заключе-
|-Ф;|-Ф-> VxG(x)
НИЯ :^
|- VxG(x)
Пример 1.Доказатьвыводимостьформулы
Воспользуемся первой аксиомой А—->(В—»А) и сделаем в ней сле- дующую подстановку /(А —> (fl —> А)) = |-F(x)^(G(y)^F(x)).
У
По только что доказанному правилу связывания квантором имеем Vx(F(x)—> (G(y)—> F(x))). Применяя еще раз это же правило, полу- чаем \-VxVy(F(x)-> (G(^)-> F(x))).
Определение относительно вывода из совокупности формул аналогично определениям исчисления высказываний.
Выводом в исчислении предикатов называется конечная последовательность формул G,, G2,...,Gn такая, что для каждого / (1 < z < и) G, есть либо аксиома, либо непосредственное следствие одной или двух предыдущих формул.
Для исчисления предикатов справедливы те же логические законы и правила, которые были доказаны ранее в исчислении высказываний. Рассмотрим некоторые из них.
Теорема дедукции. В исчислении высказываний. В исчислении
предикатов эта теорема имеет ту же форму: если формула G выводима из
f\-g\-F-^Gf\-g\-F-^Gформулы F, то формула F -^G выводима в исчислении предикатов, т. е.
f\-g\-F-^G
f\-g\-F-^G
. При этом предполагается, что G и F таковы, что F —> G явля
ется формулой, т. е. между G и F не возникает коллизии переменных.
Пример 2. |-VxF(x)~-»3xF(x). Воспользуемся двумя последними аксиомами VxF(x)—> F(y) и F(y) —> 3xF(x) исчисления предикатов \-А~^В;\-В^С
и применим к ним правило силлогизма ।———. Получим
|- VxF(x)^> F(y);|-F(y)-> 3xF(x)
|- VxF(x) —> 3xF(x)
Пример 3. |— VxVyF(x, у) <-> VyVxF^x, у). Воспользуемся опять двенадцатой аксиомой VxF(x)—э F(y). Применяя ее первый раз к переменной х в кванторе F(x, у), получаем VxF(x, у) —> F(u, у); после второго применения к переменной у будем иметь VxVyF(x,у) —э F(w, v). Используем теперь первое правило связыва-
G -» А(х)
ния квантором . . , например для формулы
G —> VxA
A(v)= VxVyF(x,y) —> F(u, v). Тогда получим выводимую формулу |- VxVyF^x,у)—> VvF^v), Применив это же правило еще раз, придем к формуле |— VxVyF(x,y)—> VvVhF(u,v). Сделаем теперь замену связанных переменных, получим |- VxVyF(x, у)-^ VyVxF(x, у).
ИН \-GaFИН \-GaF. То-. То-Точно таким же образом можно доказать и обратное следование |- VyVxF(x, у)—> VxVyF(x, у). Для доказательства исходной форму
ИН \-GaF
ИН \-GaF
. То-
. То-
лы осталось применить правило введения конъюнкции
|- 'xLx's/yF^x, у)—> \/yVxF(x, v) l-VyVx/^x,у)—> X/xX/yF(_x, у')|-VxVyF(x, у) о VyVxF^x, у)
Пример 4. |- ЗхЧуГ^х, у) —> УуЭх^х, у). Воспользуемся опять двенадцатой аксиомой и применим ее к переменной у в предикате F(x, у).
Получим |— X/yF^x, у') —> F(x,v). Проделаем то же самое с тринадцатой аксиомой применительно к переменной у: |- F(x, v)—> 3wF(w, v). По правилу силлогизма найдем I- VyF(x,y)—> F(x,v);|- F(x,v) —> 3wF(w, v)
1:7^7x. К полученной фор-
|-VyF(x,y)-»3wF(w,v)v p
муле применим сначала второе правило связывания квантором
I— А(х)~^G., х , .
р——рт, получим выводимую формулу |-3rVyF(x,y)—>3wF(w,v);
затем первое правило связывания квантором /Г» тогда
G —> Х/хА (х)
|—3xV_yF(x, ^)^ VvBwF^, v). Наконец, применив правило переименования связанных переменных, окончательно найдем |- ЗхХ/ур(х, у) —> VjdxF^x, .у).
К сожалению, обратное следование Vx3yF(x, у)—> 3yVxF(x,у) не является выводимым. Формальное доказательство этого довольно громоздко, но сама секвенция легко проверяется, если ее применить, например, к натуральному ряду чисел.
Пусть F(x, у) = {для всякого натурального числа х существует большее натуральное число у}. Тогда Vx3yF(x, у)= {для всякого натурального числа х существует большее натуральное у}. Это утверждение верно. ЗуМхЕ^х,у)= {существует такое натуральное у, что каждое натуральное х меньше числа у}. Это утверждение, очевидно, неверно.
Пример 5. |-Vx(f(x)—> G(x))—> (VxF(x) —> VxG(x)). Возьмем двенадцатую аксиому VxF(x)^>F(v) и сделаем в ней следующую подстановку:
Vx(/-(x)-4CM),r(y)^G(>.)
J(VxF(x)-> F(y))S |-Vx(f(x)^ *Ъ^ G^.
№(*).,'(у)
Исходная формула имеет вид импликации. Это значит, что посылка формулы должна быть выводимой, т. е. |— Vx(f(x)^G(x)), тогда по |-G(x) выведенному ранее правилу связывания квантором р—т—г должна
- vxuyxj
быть выводима и формула |— F(x)—» G(x). Это обстоятельство оправдывает только что выполненную подстановку.
Далее по правилу простого заключения находим
|- Х/х^ -> G^; |- Ух(F^-^ G^-> <F^ G^
ур^^С^у)В°С
пользуемся теперь второй аксиомой исчисления предикатов /2 = (л^ 5)^ ((В^ CH U ~> С)) и сделаем в ней такую подстановку
VxF(x).£(y).G(;0
№ М~(ухР^ F^ ((F(y)-^G(y))^ (VxF^ G^\
Из полученной формулы по правилу простого заключения, примененного дважды, немедленно следует
|-(F(y)—>G(y))—>(VxF(x)—>G(y))
|- р(УН GM-Н (F(y)^ С(у))^ (V-vF(x)^ G(y))|- VxF(x)—> G^
Применим к последней выведенной формуле первое правило связыва
ния квантором v , получим |- VxF(x) —> Vy G(y). Пере- G—»VxA\x)
именуем связанные переменные, тогда |- VxF(x)—> X/xG^x\ Наконец,
по теореме дедукции получим, что
_Vx(f^Vy_G^-^x^
|- Vx(f(x)-» G(x))-> (VxF(x)^ X/xG^Y
Эквивалентные формулы
Две формулы G и F называется эквивалентными, если )— G <-> F.
Теорема 4.2. Если в формуле исчисления предикатов G заменить любую часть эквивалентной формулой н если полученное вследствие этой
замены выражение G' также является формулой и содержит все свободные предметные переменные формулы G, то G н G* эквивалентны.
Формулы, не содержащие знака импликации, и такие, что знак отрицания относится только к элементарным частям, называются нормальными формами исходной формулы. Например,
Ix^xJ^^x)) = lxp(x)v Zf(x)) = Vx(^x)w6(xj)= \/х^Л(х)л S(x)^ s= Vx(a(x)a S(x)).
Знаки логических операций конъюнкции и дизъюнкции и кванторы существования и всеобщности называются двойственными друг другу. Формула G двойственна формуле F, если она может быть получена из F изменением каждого из символов a,v,3x,Vx на двойственный. Например, формуле Ух(д v S(x)a (в^ v 2?(х))) двойственна следующая формула: Эх (a a (s(x)v S(y) a S(x))). Обратим внимание, что расстановка скобок в формуле изменилась в соответствии со старшинством логических операций; порядок же действий должен быть прежним. Еще для примера возьмем формулу \/хЭу(л(х, y)v Vz/4(x,z)a 3zA^y, z)). Для нее двойственной будет формула Э^(л(л, у)л ^z^x, z) V Vz^y.zjj). Здесь появились новые скобки для сохранения прежнего порядка действий.
Порядок двойственности:
Для элементарной формулы двойственной является она сама.
Если G* двойственна G , a F* двойственна F, то для формулы G aF двойственной является формула G* a F1, а для формулы G v F двойственна G* v F*.
Если G* двойственна G , то для G двойственной формулой является G .
Если G* двойственна G, то для VxG(x) (или ЭхС(л:)) двойственной формулой будет 3xGz(x) (соответственно Vx(t (х)).
Теорема 4.3. Если формулы G и F эквивалентны, то двойственные им формулы тоже эквивалентны.
Теорема 4.4. Если переставить стоящие непосредственно друг за другом однородные кванторы, то формула при этом превратится в эквивалентную.
Например, Hx3yF(x, у) «-» 3y3xF(x, у).
Нормальная форма формулы G называется предваренной (приведенной) нормальной формор, если в последовательности символов, образующих формулу, кванторы предшествуют всем остальным символам. В исчислении предикатов можно доказать те же теоремы, что и в исчислении высказываний. Эти теоремы (правила) позволяют производить преобразования эквивалентности предваренных формул, состоящие, например, в вынесении за скобки и !внесении в скобки кванторов всеобщности и существования.
* P^^Gv^W) |-GvVxF(%)
J^GvVV^
(4.5.1)(4.5.1)' ' |- Vx(G v F(xj) ’ |- Vx^GaF^x^ \-GaVxF(x) ’ |- G a VxF^
(4.5.1)
(4.5.1)
' |- Vx(G a F(x)) ’
5 H1X£vf(^ |-Gv3x^x) ’
|- G v 3x^(x)
’ Рзх^77(^’
? |-3x(Ga^(x)) |-Ga3x^x) ’
|-Ga3xF(x)
' |-3x(GaF(x))
В алгебре предикатов установлены преобразования равносильности. С их Помощью доказывалось, что для каждой формулы алгебры предикатов существует равносильная ей нормальная формула. В исчислении предикатов можно аналогичным образом установить, что для всякой предваренной формулы (а следовательно, и для произвольной формулы) существует эквивалентная ей нормальная формула.
Дедуктивная эквивалентность
В исчислении предикатов существует еще одно понятие эквивалентности среди формул.
Две формулы G и F называются дедуктивно эквивалентными в исчислении, если из аксиом этого исчисления и формулы G посредством правил исчисления можно вывести формулу F и, обратно, из аксиом исчисления и формулы F выводима формула G . Для исчисления предикатов понятие эквивалентности формул и их дедуктивной эквивалентности не равнозначно.
Теорема 4.5. Если G и F эквивалентны в исчислении предикатов, то они и дедуктивно эквивалентны.
Доказательство.
Пусть G эквивалентно F, т. е. |— G F. Тогда G<^ рЦС^ F^F -»G) и по правилу удаления конъюнкции |-Лл5I-(G —> F)a (F —» G)
—। получим :. Если к аксиомам исчисления
|- А- G —> F
присоединить формулу G, то по правилу простого заключения I- G; G -> F
:. Присоединив к аксиомам формулу F. таким же образом |-F
можно вывести формулу G . Отсюда следует, что эквивалентные формулы F и G являются также дедуктивно эквивалентными.
Обратное утверждение, однако, неверно. Рассмотрим две элементарные формулы А и В. Они будут дедуктивно эквивалентными. Действительно, если присоединить к аксиомам исчисления предикатов формулу А, то любая формула, в частности В, станет выводимой посредством подстановки в формулу А. То же самое будет, если мы присоединим к аксиомам формулу В. Отсюда следует, что формулы А и В дедуктивно эквивалентны в исчислении предикатов. Однако эти формулы, очевидно, не эквивалентны, т. к. формула А «-> В не является выводимой в исчислении высказываний и, следовательно, в исчислении предикатов.
Теорема 4.6. Если две формулы дедуктивно эквивалентны, то из того, что одна из них тождественно истинна, следует, что н другая также тождественно истинна.
Понятие дедуктивной эквивалентности полезно именно для исчисления предикатов. Исчисление высказываний, например, полно в узком смысле (тео-
рема 2.9), поэтому либо формула исчисления высказываний выводима, либо ее присоединение к аксиомам исчисления ведет к противоречию. Если две формулы исчисления высказываний выводимы, то оии просто эквивалентны. Если же одна выводима, а другая нет, то оии не могут быть дедуктивно эквивалентными, т. к. присоединение выводимых формул к аксиомам исчисления новых выводимых формул не дает, поэтому другая невыводимая формула останется невыводимой.
В заключение без доказательства приведем две практически важные теоремы исчисления.
Теорема 4.7. Любая выводимая в исчислении предикатов формула общезначима.
Теорема 4.8 (теорема Геделя ). Всякая тождественно истинная формула логики предикатов ивляется выводимой в исчислении предикатов.
Получение v -формул. Скулемовские функции
Как уже упоминалось в разделе 3.6, существуют V-формулы, 3-формулы и скулемовские нормальные формы (V3-формулы). V-формулы и скулемов- скне нормальные формы используются в методе резолюций исчисления предикатов.
Пусть формула сигнатуры 5 имеет вид
VxlVx2...Vx„3yl3y2...3y,„A(xl,x2,...,x„, у,, у2>. „ую\(4.7.1)
где А(х1,х2,...,хя,у1,у2»—),от)— бескванторная формула. Покажем, что существуют /i./i’-'-’/m — «-местные функциональные символы, не входящие в сигнатуру такие, что для сигнатуры =2и{/1,/2’---./п,} справедливо
|-Vx1Vx2...Vx„3y13y2..3y„A(xpx2,...,x„^^
<-»Я(х|,х2,...,х„,/;(х1,х2,...,х„), /2(х1,х2х„)...,/,„(х,,х2,...,х„)).
Действительно, рассмотрим некоторый набор (a, ,a2,...,an )g М , где М — область определения предиката А. Если для этого набора |-3y,3y2..3y„A(a,,a2a„,yvy2,...y„\ то в качестве /,(а,,а2,...,а„)
Курт Фридрих Гедель (1906-1978) — немецкий математик и логик.
возьмем такие значения Ъ,, что l-A^La,,....^.^.^....^,,). Если же |^Зу1Зу2...ЗутА(а1,а3,...,а„,у1,у2,...у|„), то в качестве /. (а, ,а2,...,о J можно взять произвольные значения.
Рассмотрим теперь более общий случай
3x,...3x,,]Vy1...Vy,l23z1..3z^VH1...V^^
■ ■ -3v„5 А(х,..... У1 гх,...,и,...).(4.7.2)
Поставим в соответствие каждой переменной, связанной квантором существования, какую-нибудь функцию, определенную на М, принимающую значения из М и зависящую только от переменных, связанных квантором всеобщности и предшествующих данному квантору существования. Если квантор существования стоит первым, то поставим ему в соответствие какое- нибудь значение переменной из области М . Для рассматриваемой формулы (4.7.2) переменным xt будут поставлены в соответствие константы х(°, переменным —функции /(у,,у2У»г) ИТ-Д-, переменным v, —функции ф,(У|,У2’"-1У,|2>ы1,ы2’--1*ым4)- Если эти константы и функции таковы, что в результате замены ими соответствующих переменных в предикате А^,..., у, ,...,Zj,...,«!,...,v,,...) полученный предикат
|- а(х®,...,х®,у1,...,у„2,/1(у1y,J/^(у^.^у^^и^...^^,
Ф1 U Уп2 - “1 “»4) Ф„, (у - “г- “,М )),
то используемые константы и функции
^„...^./(ур.-.у,,(у„...,У„,)ф1 (у,У„2, «!,..,“„„)
Ф„5(У1,-..,У„2,
называются разрешающими функциями или функциями Скулема для формулы (4.7.2). Приведем несколько примеров.
■ Пример 1. Рассмотрим следующую замкнутую предваренную форму В = 3xVy3zVu3vVwA(x, у,Z,m,v,w). Обозначим значение х, которое существует в соответствии с первым квантором, константой а, отбросив при этом квантор существования: В = Vy3zVw3vVwA(a,y,z,u,v,w). Факт, что для всякого у может быть найдено значение для z, может быть выражен некоторой функцией z = /(у). Тогда
В = VyVu3vVwA(«,y,/(y),u,v,w).
Аналогично, тот факт, что для любых у,и найдется v, можно выразить скулемовской функцией v = (p(y,w), которая подставляется вместо v: В = VyV«VwA(n,y,/(y),w,(p(y,H),w).
Так как все переменные в исходной формуле должны быть связаны, кванторы существования исключены, а порядок кванторов всеобщности не влияет на значение формулы, то кванторы всеобщности отбрасываются в предположении, что все оставшиеся переменные ими связаны. Тогда В = A(cz,y,/(y),w,(p(y,u),w), где a,f^n^y,u^ — скулемовские функции.
■ Прнмер2.Для формулы Vx3zVy3w((y > z —> у > х)л (и < z)a(h< л)) построить V-формулу. Здесь формула дана в конкретном виде и разрешающие функции тоже могут быть выражены конкретно. Конкретизируем лишь область определения основного предиката. Пусть М = N . Положим Z = Д (х), тогда
VxVyS^y > / (х)-> ,v > х)л (и < /, (х))л (« < х)).
Аналогично и = Jytx^ и
VxVy((y > /, М-> у > xV (f2(x, у)< j\ (х))л(/2(х,у)<х)).
Осталось подобрать вид функций /, и /2 таким образом, чтобы фор- мула (y>/,(x)-> y>x)A(/2(x.y)</,(x))A(/^yy<3 была бы истинной при любых х, у Е N . Например, можно взять Д (х) = х + 1, а /2(х)= х. Тогда (у >х +1—> у > х)а (х<х + 1)а(х<х)= 1а1а1 = 1.
■ Пример 3. Для формулы VxVy3z3?(p(x,r)A Р^у, z)) построить V - формулу.
Пусть М = {0,1}. z = /,(x,y), ЧхЧуЦр(х,1Ур(у,/Ух,у$; t = /Ух, у), ^y(P(x,f2(x, у^лР^у,/(х, у))). Здесь Р — любой двухместный предикат, поэтому функции /, и /2 необходимо выбрать так, чтобы формула Р(а,/2(х,у))а P(y,f} (х, у)) была тождественно истинной. Положим /1(а,у)= /2(а,у)= 1, причем пусть Р(х,0)=1 и Р(х,1) = 1. Тогда
р(х, Л (х, у)) а Р(у,/ (х, у> P(xAVP(yA^ 1 А 1 1.
■ Пример4. VxVy3z3vV;(s(x,y,y)—>($(z,v,x)aP(v,Z,z))),M=N,
S(x, у, z) = (х + у = z). Р(х, у, z) = (х • у = z).
Пусть z = /,(х,у). v = /2(х, у), тогда
VxVyVz(s(x,у,у)-> ($(/,(х,у),/2(х,у)х) a PUi(х,y),t,z))).
, хх
Выберем Z = А (х, у) = <а v = /2 (х, у) = 1. Тогда
[ 0,х = 0,
«U У. У ) -» (5 (/i (х, у ), /2 (х, у ), х) л P(/2(x,y),t, г)) = (х+у = у) ->
—> ((х - 1 + 1 = х)л (1 ■ / = ,))г (х + У = у)—> 1 Л 1 = 1.
Унификация формул исчисления предикатов
Для получения подходящих резольвент в методе резолюций исчисления предикатов применяются подстановки в формулы исчисления. Процесс этих подстановок называется унификаг^ией.
Подстановкой сигнатуры X называется конечное множество вида {f1|x1,Z2|x2,...,Z„|x„} или {(t1,X1)(«2.X2)...,(f„,X„)}> где 1, — терм сигнатуры S, отличный от X; (1 < i < и), а все переменные хг,х2,...,х11 различны. Подстановка, которая не содержит элементов, называется пустой и обозначается е.
Если дана подстановка 9 = ^(^^»й|у}, то #(?^-Х означает, что повсюду переменная х заменяется функцией g(z), а переменная у — предметной константой а. Пусть имеется атомарная формула (литерал) Р(х,у,2). Будем обозначать через Р9 частный случай литерала Р, получающийся при использовании подстановки 9, Результат применения подстановки 9 к каждому из литералов множества литералов обозначим {^ }9 .
Определим композицию двух или нескольких подстановок. Пусть 0 = {z1|x1,z2|x2,...,z„|xj, Х = {?||у,,?2|у2,...,?„|у„,} — подстановки сигнатуры 2. Тогда композиция 1 9Х получается из множества {г1Х|х1,Г2Х|х2,...,//,Х|х(|,^1|у],^2|у2,...,^!|у,„} вычеркиванием всех элементов ?7Х|х;, для которых t^ — Xj, и всех элементов ^Jy, таких, что
^е^Лз,-,^}. Например, пусть 6 = {/(у, zjjc,z|y}= {zj-v,,^^}, Х = {а|х,б|у,с|г,</|и'}=^||у|,?2|у2,?з|у3,?4|у4}.Тогда
{гА|л1Л2Х|л2,91|у1,92|у2,93|у3,д4|у4}= {/■(&, c]x,c|y,a|x,fe|y,c|z,d|w}.
Здесь txX = f(b,c)* x = л,, t^ = c Ф у = x2, у, = ле {л, у}, у2 = у е {л, у], Уз = ^£ {*,?}, Уд = ^5 {*,?}■ Следовательно, вычеркнуть надо а|л и Цу , тогда композиция двух подстановок 9Х будет иметь вид {/(/>,£?]л, c|y,c|z,tZ|w}.
Для подстановок справедливо следующее:
(РО^. = РОХ, т. е. последовательное применение подстановки 9, а затем постановка X приводит к тому же результату, что и применение композиции подстановок.
(9Х)б = 0(Х8),т.е.композиция подстановок ассоциативна.
Подстановка 9 сигнатуры S называется унификатором для множества {Д,Д,...,Д} формул сигнатуры, если Д9 = Д9 =... = Д9. Множество формул {Д,А2»‘««,Д,} сигнатуры S называется унифицируемым, если для него существует унификатор.
Наиболее обгцим или простейшим унификатором (НОУ) для множества формул {Д Л-Л} называется унификатор 9Р, если для любого другого унификатора 9 существует подстановка 9! такая, что 9 = 9Р9Г Существует алгоритм, называемый алгоритмом унификации, который приводит к наиболее общему унификатору для унифицируемого множества {Д ,А2,...,Ап} или сообщает о невозможности это сделать, если множество формул не унифицируемо.
Пусть {Д.4А„}— непустое множество атомарных формул сигнатуры 2. Множеством рассогласований в {д,Д,...,Д} называется множество отличающихся термов в первой слева позиции. Например, для множества {p(x,/(y,g(a)),/i(x)),P(*,/(y,x),y)} множеством рассогласований является ^(а),л}: в первой слева позиции первого литерала стоит терм g(«), который отличается от соответствующей (первой слева) позиции второго литерала х.
Для множества ]р(х,/(у,?))Р(х,с),/)(л,/(у,/| (z)))} множество рассогласований — {/(y>^),c>/G,/i(^))} (подчеркнуты в основном множестве формул).
Рассмотрим алгоритм унификации для двух литералов. На каждом шаге алгоритма подстановка применяется к каждому из литералов. Пусть Ро —: исходное непустое множество атомарных формул, 90 = е — пустая подстановка. Обозначим на к -м шаге: Рк — множество атомарных формул (литералов), Dk —множество рассогласований, 9Рк —осуществляемая подстановка.
Приведем шаги алгоритма унификации для двух литералов. Шаг 1. к—О, Рк = Ро, Qpk =е. Шаг 2. Если Рк — одноэлементное множество, то конец алгоритма, НОУ=9Р . В противном случае находим множество рассогласований Dk. Шаг 3. Если Dk не содержит переменных, то конец алгоритма, множество исходных формул не унифицируемо. Если Dk содержит переменную хк и терм tk и если хк входит в tk, то конец алгоритма, множество литералов не унифицируемо. Шаг 4. Если существует xk,tk е Т такие, что хк — переменная, не входящая в tk, то 9 = {^|х^}, ®ЛИ = ^^ = ^Рк {^lx-t} и ^l+i = ^{^к }= ^ 11/114 ^+i = ^o®pitl ■ Шаг 5. к = к +1, переход на начало второго шага.
Если количество литералов больше двух, то последовательно унифицируется первый со вторым литералом, затем результат унификации унифицируется с третьим литералом и так далее до тех пор, пока либо все множество литералов не будет унифицировано, либо получен ответ о том, что это множество не унифицируемо.
Теорема 4.9. Если Ро — конечное непустое унифицируемое множество атомарных формул, то алгоритм унификации всегда заканчивает работу иа втором шаге и последняя подстановка 9Р< будет НОУ для Ро.
■ Пример!. Ро = ^pU,f()\g^yh(x^^
Шаг 1. к = 0, Ро — исходное множество, 9Ро = е.
Шаг 2. Ро —неодноэлементное множество, Do = {^(а),х}.
Шаг 3. ^g g(a\
Шаг 4. .Y —переменная, §(л)—терм, х не входит в g(&Y
6 = {?H40i = ^6 = {?№}■
^ = РО0! =W^l)j(y-g^l3U^\K^
Шаг 5. k = 1, переход на второй шаг.
Шаг 2. Р] —неодноэлементное множество, Dx = "{^(s^^ У?-
Шаг 3. у£ h^g^aY-
Шаг4. 9 ^(gfcz))|у},02 = 9,0 = ^("^V’/z^^OJIy).
^2 = ^г =^НДк№)Ма^МиЖК§^/^
Шаг 5. к = 2, переход на второй шаг.
Шаг 2. Р2 — одноэлементное множество, конец алгоритма
НОУ = 62 = {g(a)x,/i(g(a Ду}.
■ Пример 2. Р„=\рДДа,ДДу1^\РкхЛк^
Шаг 1. к = О, Ро — исходное множество, 9^ = е .
Шаг 2. Р^ —неодноэлемептпое множество, Do = {g(z)u}.
ШагЗ. и^ g(z).
Шаг4. 0 = {g(z}«}-0) = 9Ро0 = {g(z}»}
р\ = ^°| = W’fka*^^^£^3^*p^f^gk^\d\
Шаг 5. к = 1, переход на второй шаг.
Шаг2. Рх —неодноэлементное множество, Dx ={^(g(z)),z}.
ШагЗ. ze /i(g(z)), конец алгоритма, множество Рй не унифицируемо.
Метод резолюций в исчислении предикатов
Метод резолюций уже рассматривался нами в разделе 2.7. Его практическое использование в исчислении предикатов значительно сложнее, чем в исчислении высказываний, Теоретическая основа метода не изменилась. Для того чтобы доказать, что из некоторого множества формул исчисления предикатов логически следует данная формула, берут отрицание этой формулы и добавляют ее к исходному множеству. После чего доказывают противоречивость формулы, являющейся конъюнкцией формул исходного множества и данной. По существу, это не что иное, как метод доказательства от противного.
В отличие от исчисления высказываний в исчислении предикатов в методе резолюций есть особенности. Для исключения кванторов исходное множество формул необходимо приводить к V -форме и унифицировать. После того как получено множество дизъюнктов, осуществляется процесс опровержения, аналогичный исчислению высказываний: на каждом элементарном шаге доказательства используется правило, называемое резолюцией.
Основная идея метода состоит в следующем. Для того чтобы доказать, что формула А логически следует из некоторого множества формул Г = {А^ Аз»—» Ai}» нужно доказать, что множество формул Pj =Го{а^ противоречиво, т. е. не существует интерпретации, в которой бы оио удовлетворялось. Множество Г, противоречиво тогда и только тогда, когда формула Ах л А2 л... л Ап —> А является общезначимой, т. е. истинной в любой интерпретации.
Для того чтобы определить интерпретацию множества формул, необходимо задать область интерпретации. Однако таких областей для формул исчисления предикатов может быть бесконечно много. Чаще всего в качестве области интерпретации берут множество Нг, называемое универсумом Эрбрана.
Теорема 4,10. Если множество формул Г иеудовлетворимо иа НГ1 то оно неудовлетворимо иа любой другой области интерпретации.
Универсум Эрбрана рекурсивно строится следующим образом.
Множество всех предметных констант из Г принадлежит ^.Если Г не содержит ни одной предметной константы, то в Нг входит произвольная предметная константа, называемая любым именем.
Если термы I,Е Hr,i’ = 1,и и /.—какой-нибудь функциональный символ, зависящий от и переменных, и /;еГ,то f^ХЛ21...,1П^Е Нг. Например.
г = H)v Q^x. .у),р^(4 P(f^ V ВД))],
^г ={°>/(a)-8(o),/(/(«)),/(§(“)),§(/(«)), gfeM),-};
г = k (c,, /(c2), /(c,)), P (с,), P, (x, x, /(x)), P, (x, y, z) v Д (x, z), P, (x) v
V P^y^.U^/ P}(x,ll)v ^(x.Z^fo.C,,)},
fl r = ^,, c2, c3, /(c,) / (cJ / (c3), / (/ (c,)),...}
Метод резолюций основывается на теореме Эрбрана.
Теорема 4.11 (теорема Эрбрана}. Множество дизъюнктов Г невыполнимо тогда и только тогда, когда имеется конечное невыполнимое множество Гс константных частных случаев этих дизъюнктов иа Нг.
Таким образом, множество Г невыполнимо, если можно найти такие подстановки констант из Нг вместо предметных переменных, при которых полученное множество дизъюнктов будет противоречивым.
Пусть В— дизъюнкт сигнатуры 2 вида В = A, v А2 v... v А„ vC или В = Ах v А2 v... v Ап v С, где А( — атомарные формулы. Предположим, что множество {А,А2,...,Аи} имеет НОУ 6,,. Тогда AjOpvCGp или А|0р v Сбр называется склейкой В .
Пусть В{ и В2 — два дизъюнкта, не имеющие общих переменных, А1 и Aj — атомарные формулы или отрицания атомарных формул в Вх и В2. Если А] и А2 имеют НОУ 9Р, то дизъюнкт, получаемый из формулы Bx9pvB^p вычеркиванием Д0Р и А29Р, называется бинарной резольвентой Вх и В2, а формулы А, и А2 — отрезаемыми. Если В$Р = Ах и Вг9р = А2, то бинарная резольвента Вх и В2 равна нулю. Если формулы Вх и Вг имеют общие переменные, то перед нахождением их бинарной резольвенты в одной из формул общие переменные надо переименовать.
Пример 1. В, =^(x)vP2(x,c,), В2 = f;(c2)vP2(c2,c,). Формулы Вх и В2 общих переменных не имеют. Пусть
Д = ^(х), А = В,(с2), А = ^-2). 9 = ^гИ-
S^vS^PjtcJvP^cJvPXcJv^
Так как А]6 = ^(с2), А29 = ^(с2) вычеркнем их. Тогда бинарная резольвента 5] и В2 равна ^г^г»^)-
Резольвентой дизъюнктов Вх и В2 res^B^B^ называется одна из следующих:
Бинарная резольвента Вх и В3.
Бинарная резольвента склейки Вх и В2.
Бинарная резольвента Вх неклейки В^.
Бинарная резольвента склейки Вх и склейки В2.
Пример 2. Найти все возможные резольвенты следующего множества формул
^Uz)V Рг (х), Рх (х, ?)v Р, (с), Р„ (с), ^ (х) v Р3 (х). Р, (х, /(х))}.
Пусть В, = Рх(х,^ Р,(с\ B1=Px(x,f(x)), Д = P,(x,z),
Л = pXx-f^Y Д = pAx,fM\ 6 = {/'(^)|z}, В,0 v В26 = ^(х, /(x))v Р3 (c)v Р, (х,/(х)).
Бинарная резольвента Вх и В2 равна P3(cY res(Bx,B2^= Р3(с\
Аналогично, пусть Вх = Рх (x,z)v Р3^с\ В2 = Р^[х)\ Р3(х), Д = д(с), Д = Р3^х\ Д = Р3^х\ 0 = ^|х}, B10vS20 = ^"(c,z)v/’3(c)v^'(c)v^(c), res(Sl,B2)=Pl(c,z)v7’4(c).
Пусть Г—множество дизъюнктов. Резолютивный вывод С из Г есть такая последовательность Сх,С2,.,.,Сп дизъюнктов, что С = Сп и каждый дизъюнкт С. или принадлежит Г, или является резольвентой дизъюнктов, предшествующих С(.
Как уже упоминалось, для доказательства выводимости С из Г можно показать, что множество Г[ =Fu{cj является противоречивым. Этот способ доказательства основывается иа следующей теореме.
Теорема 4.12 (о полноте метода резолюций). Если Г — множество дизъюнктов, то множество замыканий всеобщности формул из Г невыполнимо тогда и только тогда, когда существует резолютивный вывод нуля из Г.
Пример 3. Проверить на противоречивость следующее множество формул: Г = {^(cJ.Pj^v P4(c,,y),^(x)v P4(y)v P^x.y^P,^, P^^F^F^}.
B1=Fv,B2=F3, Д_ = P, (с, V2 = ^(4 0 = {c,|x}, B,0vB20 = ^,)vtMy)v^
F6 = res^F, .E,^, (у) v P2 (с,, у );
=в2, Вг = F6, А = Р3(с1,у\ Аг=Р)(с1,у\ 0 = е,
В, 0 v В,0 = Р3 (с,, у)v Р, (у) v Р4 (у) v Р3 (с,, у),
E\=F4, B1=F1, .4i = Рг(c2), Аг = P2(y), 0 = {c2|y},
B,0v B20 = P2(c2)v P2(c2)v P4(c2), Fa = res(F„F7)= P4(c2);
res(Fs,Fs)= res[p4(c2),P4(c2))=0. Исходное множество дизъюнктов противоречиво.
Г, =H^Wa^W)^ Эу(Р3(х,у)лР4(у))),Ух(^
Эх(Р3(х)л P^V Vy(P3(x,y)^ В5(у)))}. Проверим па противоречивость это множество, предварительно приведя все формулы к V -форме.
F, = Ц^Р, (х)л /[(х))-^ Эу(Д fe.4/’ (y)))S Vx^(x)a7[(x))v
v Эу(вз (х,у)л В4 (y)))S Vx3y((4(x) v л (х) v Р3 (х,у))л (^(x)v Р2 (x)v v Рд^у1)\ Квантор существования опустим, введя скулемовскую функцию у = f^, которая по всякому х найдет для него значение у . Тогда получим V -формулу
Vx((^(x)v B2(x)v ФЛ^Л. (4(x)v Р2(х^ P4(J'^\
Теперь опустим знак квантора всеобщности, предполагая, что доказательство будет проведено для всякого фиксированного х. Аналогично, А = Зх(Р5(х)л Р^У Vv(P3(л,у)-> Р5(у))) =
= 3xVy(p5(х)л P\W (А <Х >j v Р5(у))). Опустим знак квантора существования, стоящий перед всей формулой, предположив, что доказательство будет проведено для некоторого фиксированного х = a, но т. к. х — любое значение, то оно будет справедливо для всех случаев. Тогда Vy(p3(a)Af*1(а)л(^(а,у)уР5(у))). Отбросим теперь квантор всеобщности, рассуждая как в предыдущем случае.
Р2 = Цр5У)^ W)}5 Vx(^(x)v ^(х)).
Таким образом, множество дизъюнктов имеет вид
Г = ^(х)у Р2кУ P3(x,/(x))/>(x)v Р2(хУ РАх\рАа),РАУР3(а,уУ v Р5У\Р5УУ Р2(х)}= ^FVF2,F3,F4,F5,F6Y Исследуем это множество на выполнимость с помощью метода резолюций.
Найдем rej^,^) А] = Р|(х} A2 = P1(jc), 0 = {2|х},
Аб v Р49 = Р,(a)v Р2(а)V P3(a,/(a))v Р, (а),
A =r^(F,,F4)=P2(a)vP3(a,/(a));
™(Р5Л)=? А^рА^У А = А(«./(")) 0 = {f(ab}-
Р50 v Р70 = РА«Л^У РАМУ РАаУ ?АаЛ<УУ
Fs = rej(F5,F7)=P2(a)vP5(/(a));
rra(F6,Fs)=? А2 = рАх\ AY=PAa\ 0 = ^|х},
F69 v F89 = Р2(а)v Р5(/(а))v Р5 (a)v Р2(а),
Fg =rM(F6,Fs)=P5(a)vP3(/(a));
res(F2,F4)=? А, =Р^х\ А2=Р1У\ 0 = {2|х},
F20 v F40 = Pt(ay Р^аУ Р4 У^У ^ («)-
F10 = геАРг,Р4У РА«У PtU^Y);
res(F6,Fgyi Л = рАх\ А =ргУ \ 6 = {2|х},
A® v F89 = Р5(a)v л (Я)v Рг(a)v Р5(/(а)),
F,, = res (Р„, F8) = Ps (а ) v P, (/ <a ));
res(Fs,F6)= 1 A^P^xV A, = P5(y), 9 = {x|y},
F59vF69 = A(«^)v P5(x)v^)vfi(x),
F12 =res(F5,F6)=F2(x)vP3(a,x);
res^F^F^)- ? Аг =P-Xx\ A = рг^\ 0 = {^'|^},
F,0 v Fl29 = F2(a)v P3(a,/(a))v p\x^P^a,a\
Аз = rM(A-A2)= A(a.“)v AC/VM).
Нахождение других резольвент также не дает вывод нуля, следовательно, исходное множество выполнимо, т. е. в сигнатуре 2 = {Р,,Р2,Р3,Р4,Р5,/,а}формулы из множества Ц истинны.
■ Пример 5. Докажем правильность рассуждения 3.4.11.
(Vx(?(x)^ R^WWb Q{^ ^Р^^ Эх№Н1
По методу резолюций, чтобы А, л А, л... л Ал —» А = 1, необходимо, чтобы {а,, А2,..., А„, а}|-.
Преобразуем посылку и следствие основной формулы:
(\/х(р(х) v R(x^a Vx(^) v Q(x)))= (Vx(p^ v R(x))a ^P^vQ^. acP(x)v Эх^Мл Я(х)) = VxF(^)v Зх(е(х)л Л(х)) = Vx^)v v ЭМУ)л. R(y)) = ЧхЭу^х^ (Й(у)л r^y\
Найдем теперь отрицание следствия импликации
Vx^PlxMQb'VRbYi^ ^хУу(р(х)л ^vR^)-
Квантор существования отбросим, подставив вместо предметной переменной х константу a. Отбросив теперь в посылке и следствии кванторы всеобщности и предположив, что доказательство проводится для любых значений предметных переменных, получим множество дизъюнктов
Г, = ^(х)v Я(х),Р(х)v <М P^a\Q(y^ Л(?)}= ^ ,F8,F„F4}.
Для того чтобы доказать, что исходное рассуждение правильно, необходимо из Г( получить резолютивный вывод нуля:
F5 = res(Ft,F,)=R(a), F^res^.F^Q^), F- = res(F2,F6)=P^), res(f3,F7)=0.
Практическое занятие № 10. Унификация формул. Метод резолюций в исчислении предикатов
Построить все попарные композиции 9,9^ подстановок
6i ЧлСф.^С^ф.^г}, 62 Цр^^у^х.Р^сДу,^^
63 = {^2(с1 ]|х’с2|>’.л:|г} и 64 = {y|jc,z|y,Jc|z} сигнатуры
S = {c,,c2,F,,F2}.
Определить, унифицируемо ли множество Г. В случае унифицируемости найти наиболее общий унификатор:
Г = {Р(с,X,F2(F,(у))),P^z,F2(z),F2(и))};
г=№(сШр(уЯ
Г = {р(с, х),Р(с, с)};
Г = {р(с,х^(л)}р(с,у,у)};
Г = {?(«,?! (х, у ^F^y, z\F(u, F, (с, z))}.
Определить, имеют ли склейки следующие дизъюнкты. Если склейки имеются, найти их:
P(x)v p(F(y))v^(x);
P,(x)vP2(y)vP,(F(x));
F, (x)v F2(y)v Fv(F2(с)) v Ft (z) v F2 (z).
Найти все возможные резольвенты следующих пар дизъюнктов:
Р^РМр^Рз^хУ
Г^ Рг^х\"Р^с,Р<сУ)-,
py^v Q^b^P^sj Q^b.^Y
Проверить, выполнимо ли множество формул:
^ = ^хМу^РАх.уН Рг^уУ)
а) ■ Рг = VxVy(P2(x,y)-> Р3^,уУ
F3 = 3x3yP^x,y\
Px=PKf^\fV^
F2 = PiW
б^PiG^Vto)
__Р4 = Pi (х, y^Yv Р3(х, z)
Р; = Pi^v P^y.z.u'lv^x.u^v P3(x,y)v P3(x,z)
P<> ~ РАс1-сзУ
в) F, = чЖ?м;ь¥Ь^
Проверить истинность следующих формул методом резолюций;
((vzB(b, z, z)v 3v A(b,v,b))ft(VuB(u,u,u)v VyVzA(y, y,z)))->
—> ((3m'B(w,c,w)a3uA(h,u,u))v (3wVuB(Z>,m,w)a3zVxB(x,c,z)));
((VmBwAG.u, w)v fl(c,c,c)v 3wVuA(u,c, w)v VwB(b, w, w))a a (Vw3uB(w,u,a)))—> (Зи А(и,с,а)л 3v3wfi(w, v, w)]v v (y3V3wB(b, v, w)a 3zA(z, c, z)a 3xVyB(y, л:, a)));
(3uA(u,b, c)—> (3v3wB(v, v, w)—> 3vA(6, v, v)))a ^3yB(a, y,a)v
v VxA^b, x, x) v VxVkB(a:, k, bY —> ((VxA(x, v, c) ^ 3y3zA(b, y, z)) v v B(a,a,b)Y,
^х^уЗгВ^х, у, z)) л (3»VyVxA^u, x, y)v V^3zB(x,a,z))A A (Vz3xB(z,a,x)^Vu3vVwB(z<,v,w))^ 3k3vVwA(k,v, w)a a 3v3wVuA(w, v, u);
(VuVvVwA(u,v,w)v Vx3yB(jc,6,y)v VuVvC(u,v,Z>))a
л ^xACx.a.b^v \/y3zB(a, y,z)vVvVuC(v,u,a))A
л (^wB(a,b, w))—> (Vu3v3wC(u,v, w) a 3xVy3zC(x, y, z));
(3yVzS(y,a,z)^ VziVvA(6,v,m))a
a (VwVvA(v,m,o)v Vy3uVzS(z<,y,z))A(VzS(z,z,z))—>
—» (ЭуВ(а, у,ЬУ 3xVy3zA(x, y,z))v 3uVv3wA(«,v, w).
Некоторые проблемы аксиоматического исчисления предикатов
Разрешимость
Проблема, заключающаяся в отыскании алгоритма, решающего ту или иную серию однотипных задач, называется алгоритмической проблемой разрешимости. Неразрешимость алгоритмической проблемы означает, что такой алгоритм невозможен. Простейший пример проблемы разрешимости— проблема разрешимости алгебры логики, которая состоит в отыскании алгоритма, позволяющего для любой формулы алгебры логики установить, является ли она тождественно истинной, тождественно ложной или выполнимой. Для алгебры логики эта проблема решена.
Проблема разрешимости для исчисления предикатов, в отличие от исчисления высказываний, оказалась связанной с серьезными трудностями, зависящими от точного определения понятия алгоритма. После появления точного определения алгоритма появилась возможность доказать, что проблема разрешимости для исчисления предикатов неразрешима, т. е. необходимый в этой проблеме алгоритм невозможен ^см. теорему 3.8).
Непротиворечивость и независимость
Противоречивым называется такое исчисление, в котором какая-либо формула доказуема вместе со своим отрицанием. Эта проблема для исчисления предикатов решается в положительном смысле. Для доказательства непротиворечивости достаточно обнаружить какую-нибудь невыводимую формулу в исчислении предикатов.
Можно показать, что всякой выводимой формуле исчисления предикатов соответствует выводимая формула исчисления высказываний, для которого
проблема непротиворечивости решена. Отсюда немедленно следует непротиворечивость исчисления предикатов. В самом деле, если бы исчисление предикатов было противоречиво, то в нем всякая формула была бы выводимой. В частности, была бы выводима формула А, состоящая из одной буквы. Но тогда А была бы выводима и в исчислении высказываний, что не верно.
Помимо непротиворечивости возникает вопрос о выводимости каждой аксиомы из остальных. Это вопрос независимости системы аксиом. Система аксиом исчисления предикатов— независимая система. Независимость аксиом говорит о том, что в системе нет лишних аксиом. Эту независимость можно установить посредством интерпретации. Метод интерпретаций, однако, приложим к вопросам независимости только в известных границах.
В разделе 2.8 обсуждался вопрос независимости аксиом исчисления высказываний. Вопрос о независимости аксиом обычно ставится для непротиворечивых систем. В этом случае ограничиваются сведением независимости к вопросу о непротиворечивости данной системы аксиом.
Полнота в узком смысле
Логическая система называется полной в узком смысле, если нельзя без противоречия присоединить к ее аксиомам в качестве новой аксиомы никакую не выводимую в ней формулу так, чтобы полученная при этом система была бы непротиворечивой.
В отличие от исчисления высказываний, исчисление предикатов оказывается неполным в узком смысле. К его аксиомам можно присоединить без противоречия недоказуемую в нем формулу Эх^х)—> VxF(x). Все предметы тождественны — таков содержательный смысл этой формулы.
Приведем для доказательства лишь соображения, носящие общий характер. Каждая выводимая формула исчисления высказываний имеет выводимый аналог в исчислении предикатов и может быть присоединена к аксиомам этого исчисления. Например, такая: А —» А. Она выводима в исчислении высказываний. Если область определения М предиката F(x) состоит из одного элемента х, то А —> А превращается в исчислении предикатов в формулу Зх^х)^ Vx^x), которая будет истинной. Она не будет истинной, если М содержит больше, чем один элемент. Однако из общелогических положений нельзя заключить, что область М содержит более одного элемента. Таким образом, исчисление предикатов неполно в узком смысле.
Полнота в широком смысле
Логическая система полна в широком смысле, если любая тождественно истинная формула в нем доказуема. На основании теоремы Геделя проблема полноты в широком смысле решается для исчисления предикатов положительным образом.
Все выводимые формулы исчисления предикатов представляют собой тождественно истинные высказывания. Обратно, каждая тождественно истинная формула выводима в исчислении предикатов. Из этого ясно, что в исчислении предикатов нельзя вывести сколько-нибудь содержательное по существу высказывание, в частности, математическое. Однако если к аксиомам исчисления предикатов присоединить какие-либо невыводимые формулы в качестве новых аксиом, то получится другое исчисление, в котором выводимы, помимо тождественно истинных формул, и другие формулы. Средствами этого исчисления могут быть описаны различные математические дисциплины, например арифметика, теория чисел, геометрия, теория множеств. Любая дедуктивная система может быть выражена указанными средствами. При этом любая выбранная система аксиом должна быть внутренне непротиворечива и независима, т. е. каждая из аксиом должна быть не выводима из остальных.
Глава 5
Теория алгоритмов
Характерные черты алгоритма
Понятие алгоритма в математике прошло большой путь развития. Общее определение алгоритма, имеющее интуитивный характер, следующее.
Алгоритм — это общий, единообразный, точно установленный способ решения любой задачи из данной массовой проблемы. Таким образом, алгоритм всегда связан с решением массовой проблемы. Задачи такого класса отличаются друг от друга значениями входящих в них параметров. Примеры алгоритмов: извлечение квадратного корня, предельный переход, нахождение производной и т. п. Приведенное понятие алгоритма нестрогое. В нем встречаются слова, точный смысл которых не установлен, например "способ". Тем не менее даже при таком определении можно выделить некоторые характерные черты алгоритма:
Дискретность. Каждая последующая величина получается из значений предыдущих по определенному закону. Все величины получаются последовательно друг за другом.
Детерминированность. Между всеми величинами, получаемыми алгоритмом, существует жесткая причинная связь. Последующие значения зависят от предыдущих.
Элементарность шагов алгоритма. Закон получения последующей системы величин из предшествующей должен быть простым.
Массовость. Начальная система величин выбирается из некоторого множества. Начальные условия могут варьироваться в бесконечных пределах.
Результативность. Конечный результат всегда должен быть получен.
Слово "алгоритм" происходит от имени математика аль Хорезми* (ал Горез- ми — алгоритм). Интуитивное понятие алгоритма работает, когда речь идет
Лбу Джафар Мухаммад ибн Муса ал-Хорезми (ок. 783-ок. 850) — арабский математик.
о, найденном алгоритме решения конкретной задачи. Положение существенно меняется, если возникает алгоритмическая проблема, решение которой не найдено, и требуется установить, имеет ли она решение. В этом случае надо доказать либо существование алгоритма, либо его отсутствие. Первое можно сделать путем фактического описания процесса, решающего задачу. В этом случае достаточно и интуитивного понятия алгоритма, чтобы удостовериться в том, что описанный процесс есть алгоритм. Доказать несуществование алгоритма таким путем невозможно. Для этого необходимо точное формальное определение.
В уточнении понятия алгоритма выделяются три направления:
Уточнение понятия эффективно вычислимой функции. Этим занимались А. Черч и К. Гедель. В результате был выделен класс частично рекурсивных функций, имеющих строгое математическое определение.
Машинная арифметика. Здесь сущность понятия алгоритма раскрывается путем рассмотрения процессов, осуществляемых в вычислительной машине.
Направление, связанное с понятием нормальных алгоритмов из работ А. Маркова .
Существование различных определений понятия алгоритма имеет и свои преимущества, т. к. для решения различных задач удобно использовать различные наиболее подходящие для этого случая определения.
Первое направление— уточнение понятия алгоритма— связано с точным описанием специального класса функций, называемых рекурсивными. Числовые функции, значения которых можно вычислить посредством алгоритма, называются вычислимыми функциями. Понятие алгоритма здесь не определено формально точно, поэтому понятие вычислимой функции оказывается интуитивным. Однако совокупность вычислимых функций, соответствующих условиям 1—5, т. е. удовлетворяющих характерным чертам алгоритма для многих процессов, оказалась одной и той же, легко описываемой в математических терминах. Эта точно описанная совокупность числовых функций, совпадающая с совокупностью всех вычислимых функций в самом широком понимании алгоритма, называется совокупностью рекурсивных функций.
Рекурсивные функции впервые описаны Геделем, затем в 1936 г. Черч пришел к такому же классу функций. Анализ идей, лежащих в основе определения рекурсивных функций, позволил Черчу высказать гипотезу о том, что класс рекурсивных функций тождественен классу всюду определенных вы-
Анлрей Андреевич Марков (1903-1979) — советский математик.
числимых функций. Эта гипотеза известна под именем тезиса Черча; доказать ее нельзя, т. к. понятие вычислимой функции точно не определено. В силу тезиса Черча вопрос о вычислимости функции равносилен вопросу о ее рекурсивности. Понятие рекурсивной функции строгое. Поскольку в алгоритмических проблемах речь обычно идет не об алгоритмах, а о вычислимости некоторых специальным образом подобранных, решающих проблему функциях, то можно строго доказать, что решающая конкретную задачу функция не может быть рекурсивной, а следовательно, не существует и алгоритма решения этой задачи. Именно этим путем Черч доказал неразрешимость алгоритмической проблемы логики предикатов.
Если первое направление уточняет понятие алгоритма через класс рекурсивных функций, то второе, связанное с машинной арифметикой, сначала уточняет понятие алгоритма, а затем определяет класс вычислимых функций. Это направление развито Постом и Тьюрингом . Основная идея этого направления заключается в том, что алгоритмические процессы — это процессы, которые могут имитироваться на подходяще построенных машинах, которые описываются в точных математических терминах. В результате оказывается, что сложные процессы можно моделировать на простых устройствах. Всякий алгоритм может быть задан некоторой функциональной схемой и реализован в соответствующей машине Тьюринга. Эта гипотеза называется тезисом Тьюринга. Его также нельзя доказать по той же причине, что и тезис Черча. Все известные до сих пор алгоритмы могут быть заданы посредством тью- ринговых функциональных схем.
Третье направление — теория нормальных алгоритмов Маркова.
Будем называть алфавитом А всякое непустое конечное множество символов; сами символы называются буквами. Словом в алфавите А называется всякая конечная последовательность букв этого алфавита. Простейшими действиями в нормальных алгоритмах Маркова являются последовательные замены вхождений подслов специального вида на другие слова. Нормальный алгоритм может переводить слово а в слово 0, причем на множестве слов используемого алфавита слово 0 однозначно определяется этим алфавитом и словом а. Нормальный алгоритм может быть и не применим к слову а, если он не преобразует а ни в какое слово.
Основное положение об ’’универсальности” нормальных алгоритмов — принцип нормализации-, любой алгоритм над конечным алфавитом А эквивалентен относительно А некоторому нормальному алгоритму над А. Этот принцип подобен тезисам Черча и Тьюринга и недоказуем из-за неопреде-
Алан Матисон Тьюринг (1912-1954) — английский математик.
ленности формального понятия алгоритма. На практике достаточно ограничиться алгоритмами, действующими на последовательностях натуральных чисел и выдающих в качестве значений также последовательности натуральных чисел. Действия нормальных алгоритмов Маркова похожи на действия машин Тьюринга.
В последующих разделах более подробно изучим класс рекурсивных функций и процессы, происходящие в машинах Тьюринга. Нормальные алгоритмы Маркова не будут рассматриваться.
Вычислимые, частично рекурсивные и общерекурсивные функции
Пусть функция у зависит от целочисленных аргументов л^,^,...^.
Функция у = /(л^,х2,...х„) называется эффективно вычислимой, если существует алгоритм, позволяющий вычислять ее значения. Простейшие эффективно вычислимые функции:
Х(х)=х + 1—оператор сдвига.
О(х) = 0 — оператор аннулирования.
/"(.^,A^,...,xn)= х„,, \^т<п —оператор проектирования.
Рассмотрим функции /(ХрА^-.Х,,), /2(ХрХ2,...,хД...,/м(хрХ2,...,Х,,) и функцию <р(х|,х2,...,х„,), а функцию Ч/(х,,хг,...,х11) определим равенством v(xpX2,...,xJ=pC/;(xpX2,...,xJ/2(xpX2,...,xJ..p^^
Ясно, что функция ^/(х, ,х2,,..,хв) получена суперпозицией функций <р(х1>х2,...,х,„) И fl(<x1,x2,...,x„\ /2(xpX2,...,xJ,...,./;„(xpX2,...,xJ^ но, что если все функции jx, fiv»fm и <р всюду определены, то у —всюду определена. Функция \|/ будет не всюду определена, если хотя бы одна из функций /р/2,fm не всюду определена или если Jvflv..sfm всюду определены, но фСЛ.Аfj где-то не определена и т. п.
Могут быть случаи, когда не все функции />1\>"ч/т зависят от всех п аргументов хх,Х2,...хп. В этих случаях для получения суперпозиции используются фиктивные аргументы и функции . Г"^, х2,...,хнУ Например,
vG. у, Z ) = ф(А (х), /2 (х, у, z) у.х) => ф(х,, х2, х3, х4),
/i М = F\ А У, z V2 (х, у, z)= Г2 (х, у, z^
Fs (.х, у, z^ = 732 (х, у, z\ F4 (х, у, z^ = 7] (х, у, 2), причем используется суперпозиция ^,Гх,Рг,Гз,Г4.
Примитивная рекурсия
Пусть имеются две функции <р(л*2у-^з••••»х„) и v(x|,x2,...,xM+|),n > 1. Определим новую функцию
Г/(0,Х2,Х3,...,Х„)=ф(х2,Х3,...,Х„),
V^*Vxl,X3,„.,xA=^J^X2-X3>-"-XAX^ХА
зависит от и аргументов, ф от и — 1, а у от и + 1 аргумента.
Говорят, что функция f получена из ф и \р по схеме примитивной рекурсии. Очевидно, что f интуитивно вычислима, если фиф — интуитивно вычислимые функции. Действительно, пусть х^ = а1,х2 = а2,...,хп = а„. Тогда /(О,а2,а3,...,^ = ф(а2,а3,...,а„) = 6о,
/(l,a2,a3,...,aJ=y(0,/(0,a2,...,aJa3,...,aJ=v(0,^ /(2,а2,а3,...,аА=^(1,/(1,а2,...,аДа2,...,а„')=^,Ь1,а2,...,аА=Ь2 ит.д. В частности, для функции двух переменных /(у,х) будем иметь /(0,х)=ф(х)
, х т т х х- Если же аргумент у j всего один, то f\y*\,x)=^J^,xXx)
f№=a
, х // где а —постоянная.
1/6^1)=^/М)
Говорят, что функция /(у,х2,х3,...,хн) получается из ф(х2,Хз,...,х„) и фСУзУ^Уг^-'-’У^’^г'^З’-"»^») возвратной рекурсией, если она может быть задана схемой
/(о,х2,х3„..,х„) = ф(х2,х3„..
,(y,/(ai(y + l),x2,x3
/(у + 1,х2,х3Х„) = ф
I ...,/(а,(у + 1),Х2,х3
где а,(у + 1)< у, а2(у + 1)<у,...,аЛ(у + 1)<у.
Будем говорить, что функция /(х) получается из функции g(x) с помощью с г( \ * ( \ f У(^)=0, итерации, и обозначать / (х) = ig\X), если ,\/ / w
№+i)=s(/(x))
Встает вопрос: для каждых ли частичных функций ф,\у от и — 1 И п + 1 переменных существует функция / от п переменных, удовлетворяющая условиям примитивной рекурсии и будет ли такая функция единственной? Так как область определения функций есть множество всех натуральных чисел, то ответ на этот вопрос, очевидно, положителен. Формулы примитивной рекурсии символически изображают так: / = 2?(ф,у) и рассматривают R как символ двухместной операции, определенной на множестве F функций.
Функция / называется просто примитивно рекурсивной., если ее можно получить конечным числом операций подстановки и примитивной рекурсии исходя лишь из простейших функций Х,ОД”. Операции подстановки (суперпозиции) и примитивной рекурсии, будучи применены ко всюду определенным функциям, дают в результате снова всюду определенные функции. Поэтому все примитивно рекурсивные функции всюду определены.
Функция /(х,, х2,...,хп) называется частично рекурсивной, если она может быть получена за конечное число шагов из простейших функций Х,О,7” при помощи операции суперпозиции, схем примитивной рекурсии и операции минимизации.
Функция /(^,х^,...,хд) называется общерекурсивной, если она частично рекурсивна и всюду определена.
_[/(0,х)=х,
■ Пример 1..... При таком задании сразу видна
[/(у + 1,х)=/(у,х)+1
ф(х)=х, ио \|/(x,y,z) надо устанавливать. По определению примитивной рекурсии
= (/(x,z)=y) = Y(x,y,z).
Но /G + l,x)= /(у, х)+1 = (так как /(у,х) = у) = у +1.
Итак, у(х, y,z)= у+ 1. Тогда числовые значения также легко находятся:
/(0,0) = О, /(0,1)= 1, /(0,2) =2,
/(1,0)= V(0,/(0,0)0)= V(0,0,0)=0 +1 = 1,
/ (2,0) = v(l, / (1,0)0) = V(l,l,o) = 1 +1 = 2,
/(3,0)= у(2,/(2,о)о)= у(2,2,0)= 2 + 1 = 3,
/(1,1)= y(0,/(0,1)1)= y(0,l,l)= 1 + 1 = 2,
/(2,1)= v(l,/(1,1)0 = V(l,2,l)= 2 +1 = 3,
/(3,1)= V(2,/(2,1)1)= v(2,3,l)= 3 +1 = 4,
/(1,2) = 4/(0, /(0,2)2) = V(0,p(2)2)= y(0,2,2)= /(0,2)+1 = 2 +1 = 3,
/(2,2)= V(l,/(1,2)2)= /(1,2)+1 = v(l,3,2) = 3 + 1 = 4,
/(3,2)=V(2,/(2,2)2)=/(2,2)+l = V(2,4,2)=4 + l = 5 и т. д. Помес- тим эти значения в табл. 5.2,1. Интересно выяснить, как аналитически выглядит функция /(у,я) в этом примере. Име- емj {у + 1,х) = /(у,х)+ 1, следовательно, /(у + z,х)= /(у,х)+ z. Положим у = 0, тогда /(z, х) = /(0,х)+ z = х+ z, т. е. поскольку имя аргумента может быть любым, важно лишь его место в функции /G,^)=y+^-
Таблица 5.2.1
Y
X
0
1
2
0
0
1
2
1
1
2
3
2
2
3
4
3
3
4
5
Особенно отчетливо это видно из способа вычисления функции а именно:
/(0,х)=х,
/(1,х)=1 + /(0,х)=1 + х, '
/(3,x) = 1 + /(2,x) = 1 + (2 + x) = 3 + x, [/(0,x)=0,
Пример 2. < ,\/\. Вычисляем функцию у по той
|/(y + l,x)=/(y,x)+x
жесхеме /(у + 1,x)=y(y,f(y,x\x)=lу=х, ) = y(x,y,z).
Аналогично, т. к. /(у + 1,х) = /(у,х)+х,то
/(у + 1,х)= ч/(х,y,z) = y + z. Числовые значения вычисляются таким же образом. Например, /(0,0)= 0,/(0,1)= О, /(0,2)=0, /(1,0) = у(0,/(0,0),0) = v(0,0,0) = 0 + 0 = 0,
/(2,0)= V(l,/(l,0}0) = V(l,0,0)= 0 + 0 = О, /(3,0)= v(2,/(2,o),o) = y(2,0,0)= 0 + 0 = 0,
/(1,1) = v(0, Z(o,l>l) = V(0,0,l) = О +1 = 1,
/(2,1)= v(l,/(l,l),l)= v(l,l,l) = 1 +1 = 2,
/(3,1) = v(2,/(2,l),l) = v(2,2,l) = 2 +1 = 3,
/(1,2)= V(0,/(0,2),2) = V(0,0,2)=0 + 2 = 2,
/(2,2)= v(l,/(l,2),2)= v(l,2,2)= 2 + 2 = 4, /(3,2)=у(2,/(2,2)2)=у(1,4,2)=4+2 = 6 (см.табл. 5.2.2).
Таблица 5.2.2
Y
0
X
1
2
0
0
0
0
1
0
1
2
2
0
2
4
3
0
3
6
Значения функции f при других значениях аргументов х и у могут быть вычислены аналогично. Определим аналитический вид f^x, у). В этом слу- чае /(y + LA^/Cv,х)+х, тогда f^y + z,x) = /G>x)+ z • х . Опять полагая у = 0, получим f(z,x) = /(0,х)+ 2 • х = 0 + 2 ■ х = z • х, т. е. /(y,-v) = y-A'. Таким же образом из способа вычисления /G»^) видна ее
аналитическая структура
/(о,х)=о,
/(1,х)=х + /(0,х)=х + 0,/(2,х) = х + /(1,х) = х + х -1 = 2 - х,/(3,х)=х + /(2,х)= х + х-2 = 3 ■ х,
■ Пример 3. Рассмотрим ту же самую функцию, что и в первом примере, только заданную несколько иначе. Пусть S(x, у)=х+у и по схеме примитивной рекурсии она задана следующим образом:
х + 0 = х,| S(x,o)=x
х + (у + 1)= (х + у)+ 1 ’^(х.у+ 1) = 5’(х,у)+Г
стоитслучаеибо2. т. е.стоитслучаеибо2. т. е.где 5(х,0)= lf(x), $(х,у + 1)-X(s(x,y))= \|/(х,y,z). Таким образом, функция двух переменных ^(х, у) получается по схеме примитивной рекурсии из функции одной переменной (pG)=^*G) и функции трех переменных yG’y,z) = X(s(x,y)) — оператора сдвига. Итак, вспомним еще раз определение примитивной рекурсии для функции двух аргументов (перевычисляемый рекурсивно аргумент
стоит
случае
ибо
2. т. е.
стоит
случае
ибо
2. т. е.
[/(х,0)=<р(х)
на втором месте): < , х ., хх. В пашем
0 + х = х = /| (х)
/(х,у + 1)=х + (у + 1) = 1 + (х+у)=1 + г’
/(л-, у) = 5(х, у)= х + у, а третий аргумент функции \р есть
\|/(х,у, z) = 1 + 2 . Это то же самое, что и в первом примере; там при замене переменных формула /G*^) стояла на втором месте в списке аргументов формулы ^G’/G’^^)» поэтому ранее мы получили y(x,y,z)=l + y. При вычислении значений функции /(х,у) это не
должно сказываться. Вычислим опять несколько значений функции по формуле примитивной рекурсии:
/(0,0) = О, /(1,0) = 1, /(2,0) =2, /(3,0)= 3,
/(0,1)= /(о,о +1)=1 + /(0,0)= v(x, y,z)= v(o,o,o) = 1 + 0 = 1,
/(0,2)= /(0,1 +1)=1 + /(0,1)= v(0 ЛД) =1 + 1 = 2,
/ (0,3) = / (0,2 +1) = 1 + / (0,2) = v (0,2,2)=1 + 2 = 3,
/(1,1)= /(1,0 + 1)=1 + /(1,0) = V(x, y,z)= V(l,0,l) = 1 + 1 = 2,
/(1,2)=/(1,1 + 1)=1 + /(U)=v(1,1.2)=1 + 2 = 3,
/(l,3)=/(l,2 + l)=l + /(l,2)=V(l,23)=l + 3 = 4,
/(2,1)= /(2,0 + l)=l + /(2,0)=V(2,0,2)=l + 2 = 3 и т. д. (табл. 5.2.3).
Таблица 5.2.3
Y
X
0
1
2
3
0
0
1
2
3
1
1
2
3
4
2
2
3
4
5
3
3
4
5
6
Получена та же таблица, что и в первом примере, только повернутая на 90° по отношению к первоначальной.
Пример 4. Доказать общерекурсивность функции Р(х, у) = х • у.
Зададим эту функцию следующей схемой примитивной рекурсии;
Р(х, 0) = 0 • х = 0 = О(х)
Р(х, у +1)= х • (у +1)= х ■ у + х ~ х + Р(х,у) = $(х,Р(х, у)), т.е. />(х,у) получается по схеме примитивной рекурсии из функций О^ и sfa^x-t-у, которые общерекурсивны и, следовательно, функция Р^х, у) также общерекурсивна. Так как используемое здесь оп- [/(х,0)=О(х)=0
ределение примитивной рекурсии имеет вид А , х ,/ w
[/к у+0=w, у, Jv, у))
/ хЛ • U — L/^A J
а Р(х, у) определена как <, х, то вид функции \|/ будет
[х- (у + 1) = х- у + X
следующий: /(х,у + 1) = х • (у+ 1)= х-у + х = х + z = y(x,y,z). Расчет ее значений даст такие же результаты, что во втором примере.
, х [ 1, х О,
Пример 5. Доказать общерекурсивность функции sgn(x) =
[О, х = 0.
Функцию Sgn(x) можно определить с помощью простейшей рекурсии таким образом:
sgn(o)=O, J sgn(o)=0(x),, .
[sgn(j' + l)=l (sgn^ + l)=C,(y)
Тогда по определению sgn(x) общерекурсивна.
■ Пример 6. Пусть дана функция G^x, у)= xJ. Определим ее по схеме
примитивной рекурсиипримитивной рекурсииf g(x, о)= с,(х), [g(x, у + 1) = P(x,G(x,y))
примитивной рекурсии
примитивной рекурсии
Таким образом, функция G(x, у) может быть получена по схеме при
митивной рекурсии из общерекурсивных функций Р и Сн следовательно, она сама является общерекурсивной. Определим функцию \|/. Так как
[/(х,0)=С,(х) = 1,[ х° = 1,
y^y + X^^x^jtx^')')=^-х,
то /(х,У + 1)= Х^' = ху -х = х ху = xz = х- f(x,y) = ^(x,y,z).
Вычислим таблицу значений этой функции для х = 0,1,2, у = 0,1,2,3.
/(0,0) = 0° = 1, /(1,0)= 1° = 1, /(2,0) = 2° = 1,
/(1,1)=/(1,0 + 1)=у(1,0,1)= 11 = 1,
/(1,2)=/(1,1+ 1) = V(1,1,1)= 11 = 1,
/(1,3)=/(1,2 + 1)=V(1,2,1) = 1.1 = 1,
/(2,1)=/(2,0 + 1)=у(2,0,1)=2.1 = 2,
/(2,2) = /(2,1 +1) = v(2,l,2) =2-2 = 4, /(2,3) = /(2,2 + 1) = v(2,2,4) = 2 ■ 4 = 8 и т. д.
Пример 7. Функция х! удовлетворяет равенствам Л х , + 1)!=+ 1)
[0!=С,(х)=1,
или х .г /, хх х, т. е. функция может быть полу-
Uy + l)!=Z^(F(y!,X(y)>x,y)’У
чена по схеме примитивной рекурсии из общерекурсивных функций с, И z;(^(y!, у +1), х, у), следовательно, общерекурсивна. Определим аналитический вид функции \|/. Как и в предыдущем случае,
|/(о)=1,f 0!=1,
[/G + 1)=yG,/G))IG + ^yiG + G
т. е. f(y +1) = у!(у +1) = (у + 1)у = (у +1)- /(у) = (у +1)- z = у(х,у,z).
Вычислим теперь несколько последовательных значений /(о) = 1, /(0= /(О +1)= *^= V(0,/(0))= v(O,l) = (О +1) -1 = 1, /(2) = /(1 +1)=VG,z)= y(1,/(1)) = v(l,l)= (1 +1)-1 = 2, /(3)= /(2 +1)= V(y,z) = V(2,/(2))= v(2,2)= (2 +1). 2 = 6 и т. д.
Пример 8. Какая функция получается из (р и у с помощью схемы примитивной рекурсии, если ф(х) = х, \|/(x,y,z)= 2Л? По определе- f f(x,0^=x, нию < z х 1Жу + 1)=2 .
Итак, искомая функция /(х, у) задана схемой примитивной рекурсии. Вычислим по этой схеме последовательно несколько значений данной .[/(х,0)=х,
функции 1 х / х // w /\, далее
[/(*,1) = /(х,0 + 1)= у(х,0,/(х,0)) = \|/(х,0,х) = Xх
первую строку можно опустить.
/(х,2)= У(хД +1) = v(x,l,/(x,l))= i|/(x,l,x')= (хЛУ =,
/(x,3)=/(x,2 + l)=x|/(x,2,/(x,2))=n^x,l,xz2 ^=^xl2 ^ =xs2xi =хх
и т. д. Ясно, что /(х, у) = Xх1 . Вычислим некоторые числовые значения. /(2,0)= 2, тогда
/(2,1)= /(2,0 + 1)= v(2,0,/(2,0))= V(2,0,2)= zx = 22 = 4,
/(2,2) = /(2,1 +1) = V(2,1, /(2,1))= V(2,l,4) = zx = 42 = 16, /(2,3)=/(2,2 + l)=v(2,2,/(2,2))= v(2,l,16)=z' =1б2 =256.
Пример 9. Какая функция получается из ф И \|/ с помощью схемы примитивной рекурсии, если ф(х) = .х, \|/(x,y, z) = х1 ?
Задача решается аналогично предыдущей. Распишем схему примитив- ff(x^ = x,
ной рекурсии по форме < , х ,/\\• Тогда
[Дх,у + 1)=у(х,у,Д_х,у)) = .г:
(/(х,0)=х,
[/ (ti) = / (*.0 +1) = у(х,0, /(х,0)) = v(x,0, х) = х'.
Аналогичные вычисления дают
/(х,2)=/(х,1Я) = у(х,1,/(х,1))=Дх^^ =(х)' , Ж 3) = /(х, 2 +1) = ¥(х,1, /(х,2)) = ^х,1, (х/ кх2 = (х)^
и т. д. Очевидно, что f^x, у) = ху раз .
Пример 10. В области натуральных чисел разность .х — у естественно считать двухместной функцией от хи у, определенной лишь для х>у, т. к. отрицательные числа ие входят в рассматриваемую область. Но примитивно рекурсивные функции должны быть всюду определены. Поэтому в теории примитивно рекурсивных функций вместо обычной вводят усеченную разность, обозначаемую символом — и
определяемую так:определяемую так:.г - у, X > у,•
определяемую так:
определяемую так:
х—у =Например, 5 —3 = 2,
[ 0, х< у.
3 —5 = 0, х— у — z = х— (у + z) и т. д. Функция х— 1 удовлетво
ряет примитивно рекурсивной схемеряет примитивно рекурсивной схеме0-1 = 0 = О(х),То же(x + l)-l = x = /j(x,^). ■0-1 = 0 = О(х),То же(x + l)-l = x = /j(x,^). ■
ряет примитивно рекурсивной схеме
ряет примитивно рекурсивной схеме
0-1 = 0 = О(х),
То же
(x + l)-l = x = /j(x,^). ■
0-1 = 0 = О(х),
То же
(x + l)-l = x = /j(x,^). ■
х-О = х = Г1(х,у'),
наблюдается при любых х и унаблюдается при любых х и уX-G + 1)= Х-Г -1.X-G + 1)= Х-Г -1.По опредеПо опреде
наблюдается при любых х и у
наблюдается при любых х и у
X-G + 1)= Х-Г -1.
X-G + 1)= Х-Г -1.
По опреде
По опреде
f(xj))=x,
лениюлениюУ(х,у + 1)=х—(у + 1)=[ х-у |-1 =..
лению
лению
I I . Итак, v(*,y,z) = Z—1.
= Дх, у)-1 = vk У.Дх, у)) = z-1
Вычислим несколько значений этой функции. /(0,0) = 0—0 = 0,
/(1,0)= 1-0 = 1, /(2,0)=2—0 = 2,
/(0,1) = 0—(0 + 1) = ^0—0^—1 = 0—1 = 0и т. д. Например,
/(1,1)=1-(0 + 1)=^1-0^-1 = \И(1Д/(1^
/(l,2)=l-(l + l)=^l-l^-l = v(l,l,/(u))=v(l,l,0)=z-l = 0-l = 0, у (1,3)=1—(2 +1)=^ 1—2^—1 = V(l,2,/(1,2)) = v(l,2,0)= z-1 = 0-1 = 0, /(2,1)=2—(0 +1)=^2—0^—1 = V(2,0,/(2,0)) = у(2,0,2)= z-1 = 2-1 = 1, /(3,1)=3-(0 + 1)=^3-0^-1 = y(3,0,/(3,0))=y(3,0,3)=z-1 = 3-1 = 2, /(2,2)= 2-(l +1)= 2-1 -1 = V(2,l,/(2,1))=V(2,l,l)= Z-1 = 1-1 = 0.
Операция минимизации
Пусть дана функция /(х,у), причем x,y,f принимают лишь натуральные значения. Решим задачу отыскания для данной функции и фиксированного х наименьшего из тех у, при которых /(х,у)-Ь. Результат— функция от х, т. е. <pW = Ну К-^» у) = ^1- Читается: "наименьшее у такое, что /(х,у)=Ь". Для функции и переменных ц-оператор определяется аналогично ф(х1, х2,..., хп) = ц у [/(х!, х2,..., хп, у) = Z>]. Переход от /(^,х2,...,х„,у) к ф(х|,х2,...,хл) и называется ц-оператором. Функция Ф^! >х2’--’хп^ легко считается по следующей схеме.
Полагаем у = 0, находим /(х^,Х2,...,х„,0). Если /(х,, х2,...,х„,0) = b, то ф(хр х2,...,х„ )= 0, если нет, то переход к следующему шагу.
Вычисляем /(хрХ2,...,х„,1). Если /(х,,х^,...,х„,1)=/>, то ф(х),х2,...,х„)= 1, иначе переход на второй шаг и т. д.
Функция ф(х|,х2,...,хя) считается неопределенной, если окажется, что для всех у /(х^,Х2,...,х„,у)^ b или для какого-то у /(x^x^,...^,,, у) не определено.
Описанный процесс нахождения значения выражения ф(л1,х2,...,х„)=цу|7(х|,Х2,...,х„,у) = />] будет продолжаться бесконечно в следующих случаях:
значение /(■*1,х2,...,хй,О) не определено;
значения ./(х|,х2,...,хп,у) для у = 0,1,...,л -1 определены и отличны от Назначение /(х^,х2,...,х„,а) не определено;
значения f^ ,х2,...,хн, у) определены для всех у = 0,1,2,... и отличны от b.
Во всех этих случаях значение выражения ф(х|,х2,...,х/1) = = ^[/(х], х2,...,хн, у)= b] считается неопределенным. В остальных случаях описанный процесс обрывается и дает наименьшее решение у = а уравнения минимизации. Например, вернемся к уже рассмотренной функции
z \ f 1, х * 0,г / \1/ \
sgn(x)=Тогда H,|sgn(x) = 1J = 1, т. к. если х=0, sgn(0) = 01,
[О, х = 0.
то необходим переход на следующий шаг. Далее х = 1, sgn(l)=l, следовательно, ц Jsgn(x) = 1] = 1.
у—х = О = 0, т. к. первыму—х = О = 0, т. к. первымРассмотрим еще один пример. Очевидно, что р;
у—х = О = 0, т. к. первым
у—х = О = 0, т. к. первым
решением уравнения у—х = 0 попеременной у является значение у = 0.
ибо 0 — х = 0. Итак, на первом шаге задача решена, и II ,ибо 0 — х = 0. Итак, на первом шаге задача решена, и II ,у—х = 0у—х = 0= 0.= 0.
ибо 0 — х = 0. Итак, на первом шаге задача решена, и II ,
ибо 0 — х = 0. Итак, на первом шаге задача решена, и II ,
у—х = 0
у—х = 0
= 0.
= 0.
1, х*0, О, х = 0.ИЛИ1, х*0, О, х = 0.ИЛИЗначение выражения <р(х],х2,...,х„)= PyLf^,х2,...,х„,у) = б] есть функция от аргументов х,, х1,...,х„,Ь. Эту функцию символически обозначают Mf. Если заданная функция одноместная, то функцию М ( часто обозначают через /"' и называют обращением функции / или обратной функцией.
1, х*0, О, х = 0.
ИЛИ
1, х*0, О, х = 0.
ИЛИ
Итак, / '(х) = ру[/(у) = х]. Например, пусть опять y = sgn(x) =
Тогда/"' (х) = sgn"1 (х)= ц, [sgn(y)= х]
/"'(0)=sgn-'(0)=py[sgn(y)=0]=0, /'1(l) = sgn"'(l)=P,[sgn(y)=l]=l, /‘‘ (2) = sgn"1 (2)=ц, [sgn(y )= 2] не определено, т. е.
-1 / \ [ х, х = ОД, sgn (х) =Следует помнить, что половина гра-
[не определено, если х > 1.
фика функции Sgn(x) для х<0 отброшена, т. к. рассматривается лишь функция целочисленного аргумента при х> 0.
С учетом определения операции минимизации очевидно, что все примитивно рекурсивные функции частично рекурсивны, а класс частично рекурсивных функций шире класса примитивно рекурсивных функций, т. к. все примитивно рекурсивные функции всюду определены, а среди частично рекурсивных встречаются и не всюду определенные фуикции, например sgn”'(x), кроме того, есть и нигде не определенные функции.
Уже из разобранных примеров видно, что многие числовые функции примитивно рекурсивны. Понятие же частично рекурсивной функции — одно из главных понятий теории алгоритмов. Каждая частично рекурсивная функция вычислима путем определенной процедуры механического характера, которая несомненно отвечает нашему интуитивному представлению об алгоритмах. С другой стороны, какие бы классы точно "очерченных алгоритмов" до сих пор фактически ни строились, во всех случаях неизменно оказывалось, что числовые функции, вычислимые посредством алгоритмов этих классов, были частично рекурсивными. Поэтому ныне общепринятой является следующая естественнонаучная гипотеза, обычно формулируемая как тезис Черча.
Тезис Черча. Каждая интуитивно вычислимая функция является частично рекурсивной.
Эту гипотезу нельзя доказать, но можно опровергнуть, построив хотя бы один контрпример. Пока таких примеров построено не было.
Как мы уже видели, операции подстановки (суперпозиции) и примитивной рекурсии, произведенные над примитивно рекурсивными функциями, дают в качестве результата снова примитивно рекурсивные функции. Эти свойства сохраняются и при следующих операциях.
Теорема 5.1. Пусть «-местная функция ф примитивно рекурсивна. Тогда «-местная функция /, определяемая равенством
/(x[,x2,...,xH ) = 2Ф(х1,х2,...,хк_1,г),также примитивно рекурсивна.
/=0
Так как все переменные в / и ф пробегают целочисленные значения, то из последнего равенства вытекает следующее:
Г/(х,, х2,..., х„_, ,0) = ф(х,, Х2Х,^ ,0),
t/k,х2,...,х„_,, у +1)- /(х,,х2,..., х„_,, у)+ ф(лг,,х2 х„_,, у + 1).
Эта схема определения функции / похожа на схему примитивной рекурсии при х,, х2,...,х„_|. Действительно, схема по определению имела вид
[/(х1,х2,...,х„_1,0)=ф(х1,х2„..,х„_1),
[/(х|,х2,...,х„_|,у + 1)=ф(х1,х2х„_|,у,/(х|,х2,...,х„_|,у)).
Тогда предыдущую схему можно формально свести к последней, если положить <р = <р, ф(х1,х2...,х„_1,у,?)= г + ф(х|,х2..„х„_|,у + 1).
Теорема 5.2. Если и -местная функция ф примитивно рекурсивна, то и-местиая функция, определеиная формулой fkx\*xiv.«tXn_Xlxt^ =
= Пф^ ’ х2’—»*и-1»0»также примитивно рекурсивна.
/=о
Это определение приводит к следующей схеме:
'fV\.X7v; *„-' ,0) = ф(л,, Х2 Л„ч ,0),
Axv4JC„_),y + l)=/(jc1,x2X,,.,,)-)^^!,^,...,^,.!^*!).
В этом случае говорят, что функция /(х1,х2,...,х,1) получается из функции ф(х1,х2,...,хл) операцией мультиплицирования.
Теорема 5.3 (омажорируемых неявных функциях). Пусть ф(х1,х2,...,хл,у), а(х|,х2,...,х„) — такие примитивно рекурсивные функции, что уравнение ф(х,, х2,..., хл, у ) = 0 для каждых значений х^,х^,...,х„ имеет по крайней мере одно решение и Цу1ф(х1,х^,.-»^«у)=0]5а(х|,х2,...,хл) ДЛЯ ЛЮбыХ Х^, Х^,..., Хл . Тогда фуИКЦИЯ f^X^lv-iX,^ = |1у [ф(х|, х2,..., х((, у) = О] также примитивно рекурсивна.
3. Примитивная рекурсивность некоторых арифметических функций
Проверим, что некоторые обычные арифметические функции, связанные с отношениями делимости и простоты натуральных чисел, являются примитивно рекурсивными.
I. ВозьмемI. Возьмем— — частное от деления х на у и определим функцию
I. Возьмем
I. Возьмем
rest(x, у) — остаток от деления х на у. Чтобы иметь дело с всюду определенными функциями, дополнительно положим, что ■^ =х, rest(x,0)=x для Ухе N.
Если функции так определены, то rest(x,y) =
тельно, пусть, например, х = 5, у = 3,
XУXУ= 3-1 = 3,= 3-1 = 3,примитивной рекурсивности функции рекурсивность функции rest(x,y).примитивной рекурсивности функции рекурсивность функции rest(x,y).XУ.XУ.будет вытекать и примитивнаябудет вытекать и примитивнаяПриПриу>0у>0— = И .У.— = И .У.удовлетворяет соотношениюудовлетворяет соотношениюну < х < (и + 1)у.ну < х < (и + 1)у.
X
У
X
У
= 3-1 = 3,
= 3-1 = 3,
примитивной рекурсивности функции рекурсивность функции rest(x,y).
примитивной рекурсивности функции рекурсивность функции rest(x,y).
X
У.
X
У.
будет вытекать и примитивная
будет вытекать и примитивная
При
При
у>0
у>0
— = И .У.
— = И .У.
удовлетворяет соотношению
удовлетворяет соотношению
ну < х < (и + 1)у.
ну < х < (и + 1)у.
Можно проверить, что и равно числу нулей в последовательности
1-у—х, 2-у—х, 3*у—х,..., х-у—х. Например, прн х = 5, у = 3,
и = 1 и 3—5 = 0, 6-5 = 1, 9-5 = 4, 12-5 = 7, 15-5 = 10.
Введем функцию SgnlВведем функцию Sgnlдополнительную к функции sgn(x)
Введем функцию Sgnl
Введем функцию Sgnl
(дополнительная к "половинке" функции, определенной для целых поло
. В на. В нажительных аргументов). Тогда для у > 0
. В на
. В на
шем примере — = 1 + 0 + 0 + 0 +0 = 1. Так как функция
XТXТ, а вместе с ней и функция, а вместе с ней и функциястоящая под знаком суммы, примитивно рекурсивна, то на основании пер
X
Т
X
Т
, а вместе с ней и функция
, а вместе с ней и функция
вой теоремы заключаем, что функция rest(x, у) примитивно рекурсивны.
Говорят, что число х делится без остатка на число у, если rest(x,y) = O. Введем двухместную функцию div(x, у) — признак деления х на у, та- fl, rest(x, у) = 0,
х, у)=<,, Очевидно соотношение
7 [0, rest(x,y)^O.
div(x,y) = sgn(rest(x, у)). Так как функция div(x, у) получена суперпозицией примитивно рекурсивных функций, она также примитивно рекурсивна.
Введем функцию, определяющую число делителей натуральных чисел nd(x)= Xdiv(x,i). Рассмотрим пример. Пусть х=5. Тогда, очевидно, 1=0
nd(5) = 2. Проверим это, подробно расписав выражение для nd(5):
rest=5*0,resl=O,rest*O,rest*O,div=0div=ldiv=Odiv=0rest=5*0,resl=O,rest*O,rest*O,div=0div=ldiv=Odiv=0nd(5) = ^div(5,r) =nd(5) = ^div(5,r) =
rest=5*0,resl=O,rest*O,rest*O,
div=0div=ldiv=Odiv=0
rest=5*0,resl=O,rest*O,rest*O,
div=0div=ldiv=Odiv=0
nd(5) = ^div(5,r) =
nd(5) = ^div(5,r) =
Рассмотрим функцию ^(x), называемую квадратичным остатком числа х:
^(х) = х—[Vx] , где [z] — целая часть действительного числа z, равная
наибольшему целому числу, не превосходящему z. Функция ^(х) равна расстоянию от х до ближайшего слева точного квадрата.
Равенство И = [Vx] равносильно отношению И2 < х< (п +1)2, где И —
= 1 и= 1 и= 1 ,= 1 ,натуральное число. Таким образом, [Vx^it, sgn^(/ + l)2—х №< х. Проверим это для нескольких значений х. Пусть
= 1 и
= 1 и
= 1 ,
= 1 ,
Vx =2,14..., [V^J= 2. Тогда поскольку
то для t = 0, (f + l)2—5 = 1—5 = 0,sgn(0)=0^1. Далее для t = 1,
(z + 1)2—5 = 4—5 = 0, sgn(o) = O*l, t = 2, (z + 1)2—5 = 9—5 = 4, sgn(4)=l. Итак, Z = 2— ответ при минимизации. По определению ц-оператора процесс немедленно заканчивается, если найдено первое значение, удовлетворяющее минимизации.
По теореме 5.3 о мажорируемой неявной функции следует, что [V xJ примитивно рекурсивна. Вместе с нею примитивно рекурсивной является и функция q(x)=.x—[Vx]2. Аналогичным образом доказывается прими
тивная рекурсивность и многих других арифметических функций.
Рассмотрим одноместные примитивно рекурсивные функции и следующие операции над ними:
Двухместная операция сложения одноместных функций (/■+gX^)=/W+g(4
Двухместная операция композиции одноместных функций
Одноместная операция итерирования одноместной функции, определяе- [/(0)=0,
мая следующим образом: < , х / / w или / = *' S •
В последнем пункте функция / возникает операцией итерирования функции g .
Теорема 5.4 (теорема Р. Робинсона*). Все одноместные примитивно рекурсивные функции и только они могут быть получены из функций Х(х)=х + 1 и у(х)=х-[7х]2 конечным числом операции сложения, композиции и итерирования функций.
При рассмотрении общерекурсивных функций, класс которых шире класса примитивно рекурсивных функций, привлекают специальные виды рекурсии, например, рекурсии второй ступени для двухместных функций.
■ Пример 1. Доказать, что функции тах(х, у) и min(x, у) примитивно рекурсивны. Вспомним несколько вспомогательных функций:
/х fl, х*0,. U-y,x>y, —. . [1, х = 0
sgn(x)=х-у =, sgn(x) =Рас-
[О, х=0[ 0, х<у[0, х>0.
смотрим первую из заданных функций max(x, у) = <"^ . Тогда
Рафаэль Митчелл Робинсон (1911-1995) — американский математик.
то X—у = 0, sgl|x—)J = 0, sgn^x— yj = l,
max(x,y) = x • 0 + у 1 = у . Так как функция тах(х, у) была составлена из примитивно рекурсивных функций с помощью операций суммирования и суперпозиции, следовательно, она примитивно рекурсивна. Совершенноаналогичнодоказывается,что
min(x,y) = x-sgn^y—х^ + у -sgn^y—x^j.
■ Пример 2. Рассмотреть и доказать примитивную рекурсивность функции о(х) — суммы делителей числа х, причем а(о) = О. Запишем аналитический вид этой функции и проверим его правильность на примере: o(x)=2j-sgn(rest(x,f)).
i=i
Пусть х = 9. У этого числа три делителя 1,3 и 9, их сумма равна 1+3 + 9=13.
<$=
/ /=1<=21=31=41=51=51=7<=5г^>\
= 1-12-03-14-05-0607-08-091=
\di\(9,l)=ldi\(9,2)=Odi\(9.3)=ldi\(9,4H>dix(9,5)=OdU(9,6^Odi\(9,7)=Odi+J.S^OdiV9,9>l/
= 1+3+9 = 13.
Практическое занятие №11. Рекурсивностьфункций
Доказать, что если функция /(х^, л,,..., х„) примитивно рекурсивна, то следующие функции также примитивно рекурсивны:
ч/(х],х2,...,хл)=/(х2,х3,...,х„,Х|)— циклическая перестановка аргументов;
<р(х,)=/(j:h^i,JC2—’л‘я-1)— отождествление аргумен
тов.
Доказать, что следующие функции примитивно рекурсивны:
/(х)=х + л;
/М^л;
/(х,у)=х+у.
Доказать примитивную рекурсивность следующих функций:
|х-у|;
т^ — число делителей числа х, где т(о)= О;
л(х) — число простых чисел, не превосходящих х;
Z/z(x) — число простых делителей числа х, где //г(0)= 0;
р^ — х-е простое число рх, причем р(о)=2, р(1)= 3, р(1)= 5....;
V^\;
С, (cj =1 при у > х).
Доказать, что из О(х) и Z,,'^!’^’..-^',;) с помощью суперпозиций и схем примитивной рекурсии нельзя получить функции х +1 и 1х.
, . с „,/ х (х + уУ + Зх + у»
. Доказать, что функция с(х, у) = - (канторовская ну
мерующая функция) осуществляет взаимно однозначное соответствие между № и N (нумерует пары натуральных чисел). Пусть /(х) и г(х) таковы, что c(z(x),r(x)) = х. Доказать, что /(х) и г(х) примитивнорекурсивны и Z(c(x,y))=x, г(с(х,у))= у,
Доказать, что функция, перечисляющая по порядку числа Фибоначчи**: /(0) = 0, /(1)=1,
Георг Катор (1845-1918) — немецкий математик.
Леонардо Фибоначчи Пизанский (1180-1240) — итальянский математик.
Доказать, что следующие функции частично рекурсивны:
а) нигде не определенная функция со, т. е. функция со с пустой областью определения;.
б)б)< х [ х- у, если х > у, ЛУ) =
б)
б)
[не определена в остальных случаях;
в) /(^у)в) /(^у)Z, если zy = х,
в) /(^у)
в) /(^у)
не определена в остальных случаях.
Доказать, что функция f^,xlv..,xn,xn^x \ возникающая из функций Ц)(х^,Х2,.-1хп') и y(xP.X2v-->*n>*„+i’j!'«+2) с помощью оператора примитивной рекурсии, может быть получена с помощью специальной ре- [ Г(х,О) = О,
курсии вида < , v / / х\ и суперпозиции из функций [ F (х, у +1) = Ф (F \х, у))
ф(х1,х2„..,х„), ф(х1,х2,...,х„,хл+|,х„+2), О(Д Х(х\ I" (х1,х1,...,х1]') и <?(х, у), i\x\ /(х) из задачи 5.4.5.
Доказать:
а)1 1 + - = sgn(x);
/х + 1 + Г—1-Г—"|) = 2х—1;
i[x +1 + [-TiT+l] ^ = х2 + х, где /(х) = ig(x) —операция итери-ро- вания функций.
Показать, что следующие функции могут быть получены из функций Х(х)=х + 1 и q(x)=x—[\/х] с помощью операций подстановки,
итерации и сложения двух функций:
Sgn(x);
sgn(x);
^);
ax + by + с;
X2.■
Словарные множества и функции
Важнейшие классы алгоритмов можно описать в терминах теории слов в некотором алфавите.
Как уже отмечалось, произвольная конечная совокупность букв называется алфавитом. Последовательность из нескольких букв называется словом. Например, если алфавит состоит из букв А, В, С, то последовательности А,ВАА, СА, СС, АСВАВ будут словами в этом алфавите. Длиной слова называется число входящих в него букв.
Пусть символы аир обозначают слова, записанные в алфавите, не содержащем самих символов аир. Тогда через ар обозначается слово, получающееся, если сначала выписать слово а, а затем приписать к нему слово р. Слово ар называется композицией (иногда произведением) слов а и р. Операция композиции слов, очевидно, ассоциативна, но не коммутативна.
Слово а называется подсловом слова р, если р можно представить в виде Р = уаб, где у,5— подходящие (возможно пустые) слова. Пусть А = 1а1,а2,---,Йр J— какой-нибудь конечный набор символов. Обозначим через <5А совокупность всех слов в алфавите А , включая пустое слово Л .
Всевозможные подмножества совокупности аЛ, в том числе пустые, будут называться словарными множествами в алфавите А .
Для нумерации словарных множеств вводится понятие алфавитных номеров следующим образом. Номер пустого слова Л полагается равным нулю. Далее в каком-нибудь порядке числами 1,2,3,.../) нумеруются символы алфавита. Пусть а( — символ с номером i. Тогда номером слова а = а, ...а^а^ называется число с(а) = /0 + /] • р + f2 • + — + (v' рЛ •
Рассмотрим предыдущий пример. Из данного определения номера следует, что каждое слово совокупности стд будет иметь единственный и отличный от других алфавитный номер. Пусть ст^ =jA,B,Cj, а слово а = АС В АВ, тогда с(а) =2-3° +1 ■ З1 + 2 ■ З2 + 3 ■ З3 +1■З4 . По своему составу и методу получения это обычное число в троичной системе счисления.
Множество слов М в алфавите А называется примитивно рекурсивным, если соответственно примитивно рекурсивна совокупность алфавитных номеров всех слов из М.
Говорят, что в алфавите А задана и-местная словарная функция F, если некоторым и -кам аразг-.а, слов из сА поставлены в соответствие однозначно определенные слова ?(а,,a2,...,a„) в А . Числовая п-местная функция / называется функцией, представляющей словарную функцию F в нумерации К, если F(Kxv^x2,..,Kx^=Kflx1,x2,...,х„) для всех натуральных х,,х2,...,хп и, следовательно, г(а1,а2,.««,ал)= Ay(ca1,<?a2,...,can) или /(^,х2,...,х„)= c(f(K^,X^,...,Kx„)), где К— первоначальная нумерация алфавитных символов. Здесь <?(а) — алфавитный номер слова a, Кх, — слово, имеющее номер х/ в нумерации К.
Рассмотрим предыдущий пример. Пусть стЛ =-^А,В,с| и Fl(a)=a-al = = a • А . Тогда /, (х) = c(F| (Хх)) = с(Ах • Я), т. к. по определению представляющей функции изменяется только аргумент, а не прочие символы, входящие в ее состав. с^ (a)) = с^Кх -А) = с(а•Я)=1+ р ■ с(а). Действительно,
а = АС В АВ, а- А = АС В АВ • А,
13 2 12 1 3 2 1 2 1с(а-Я)=1-/ + 2-^+Ь^2+2-^3+3-/ +
+ 1- р5 = 1 + р(2 +1- р +2- р2 +3- р3 +1- р4)= 1 + с(а), р = 3
— основание системы счисления при нумерации символов алфавита. Тогда /(х) = 1 + рх = 1 + Зх— числовая функция, представляющая словарную функцию /^(а) = а - А. Если же
F^ (а) = ах • а = А • а, то /2 (х) = с^ (Ах)) = с(^ • Кх\
с^1№^~ ска\ 'а) = с(Я ■ а)= с^А • АСВАВ) = с(а)+1- рнХ = с(а)+1- р5 - Тогда /2(х)=х+35— числовая функция, представляющая словарную функцию F2 (a) = А • a .
Итак, свойство словарных функций быть рекурсивными связано с рекурсив- ностью совокупности алфавитных номеров всех слов. Ясно, и определение словарной функции это подтверждает, что свойство быть рекурсивным множеством слов не зависит ни от нумерации К символов алфавита, ни от того, в каком алфавите это множество рассматривается.
По аналогии с основными вычислимыми операциями над числовыми функциями можно определить операции подстановки (суперпозиции), рекурсии и минимизации, производимые над словарными функциями. При помощи
этих "словарных операторов" легко и без каких-либо вычислений показывается примитивная рекурсивность всех наиболее употребительных словарных функций. Например, так же вводятся основные элементарные операторы сдвига, аннулирования и проектирования.
Пусть алфавит А состоит из букв ax$a2,...,a . Словарные функции S^O и 7” (т = 1,2... ,f = l,2р, т<п\ определенные в алфавите А равенствами S,(a)=a-a/, O(a)=A, 7”(a1,a2,...,an) = aj„, называются простейшими.
Рассмотрим теперь какие-нибудь частичные словарные функции G и Н^Н2,...,Нр соответственно от п и п + 2 переменных, заданных в алфавите А , состоящего из букв араг,...,а.
Результатом операции словарной примитивной рекурсии над функциями G , HVH2V..,H р называется (/? + 1)-местная словарная функция F, которая для любых слов a1,a2,...,a„,p в алфавите А удовлетворяет равенствам
F(al,a2,...,a„,A)=G(a1,a2a„),
F(al,a2,...,a„,Pa1)=tfl(a1,a2,...,a,,,P,F(ap^^
■ F(a|,a2,...,a„,Pa2)=#2(a|,a2,...,a,,,P^(5.5.1)
F(a1,a2,...,a„,PaJ=flp(a1,a2,...,a„,p,F(al,a2,...,a,„p)).
Это определение, если перейти от словарных функций к представляющим их числовым функциям, выглядит так
|f(x1,x2,...,x„,0')=g(x1,x1,...,x„\
i = l,2,-,P-
Представляющая функция / расписывается следующим образом:
/(^,^,...,x„,z) =
/(х„Х2,...,Л„,г) =
Операция словарной минимизации проводится аналогично, хотя и более сложным способом: вместо одной операции минимизации рассматривается минимизация по каждой букве алфавита at.Операция словарной минимизации проводится аналогично, хотя и более сложным способом: вместо одной операции минимизации рассматривается минимизация по каждой букве алфавита at.
Операция словарной минимизации проводится аналогично, хотя и более сложным способом: вместо одной операции минимизации рассматривается минимизация по каждой букве алфавита at.
Операция словарной минимизации проводится аналогично, хотя и более сложным способом: вместо одной операции минимизации рассматривается минимизация по каждой букве алфавита at.
Теорема 5.5. Для того чтобы заданнаи в алфавите А словарная функция F(a[,a2,...,a„) была частично рекурсивной, необходимо и достаточно, чтобы она могла быть получена из простейших словарных функций S,0 Jsm конечным числом операций суперпозиции, словарной рекурсии и словарной минимизации.
■ Пример 1. В алфавите А = WB,C,D ( рассмотрим словарную функ- Ч 2 3 4 J
цию г(а,,а2) и определим рекурсивно второй аргумент а2. Пусть функция определяется следующим образом:
F(a„A)=G(a,),F(a1,p-A)=H1(a1>p,F(a„₽)),F(a„p.B)=H2(al,p,F(a„p)),F(al,pc)=H3(al,p,F(«„p)),F(a1,p.D)=«4(al,p,F(a1,p)).
Пусть, кроме того, G(a)=aB иПусть, кроме того, G(a)=aB ия,(а,Р,г)=ару,Я2(а,р,у)=ааРу,Я,(а,р,У) = арру,Я4(а,р,у) = аруу.
Пусть, кроме того, G(a)=aB и
Пусть, кроме того, G(a)=aB и
ТогдаТогдаF(at,A)= 0,8,F(a„p.A) = alpF(al,p),F(a],PB)=a1a1pF(a„p),F(a„pC)=a,ppF(al,p),F(a1,pD) = a1pF(a„p)F(a1,p).
Тогда
Тогда
При таком определении может сложиться впечатление, что количества функций Н, недостаточно для построения функции Г(а],а2) при любом р, ведь ^(ai,P-4)=wX“iAF(“i,P)) и ^(“ы₽) неизвестно. Однако если Р = Л, то можно найти в^.д) для всех букв алфавита А, т. к. ^(«1. А) = Н. ^а.АЛ,Г^ахЛ^= H^A.G^Y
Затем взяв за [3 = Д , мы можем определить функцию F для Р = Д Д и т. д. для всех слов произвольной длины. Пусть, например, а, = DAC, [3 = ВС. Вычислим только F(aPP■ D)= FxDAC,BCD). Для этого необходимо определить несколько промежуточных значений этой функции ^(а, ,Л)= DACB, F(ax,B)= г(а„ЛВ)= Я2(а,,Л,Г(а,,Л))= DACDACDACB ,
F(a,,ВС) = H3(a,,B,F(a,,B)) = DACBBDACDACDACB, F(at,BCD) =
= Ht(avBC,F(jix,BC))= DACBCDACBBDACDACDACBDACBBDACD-
ACDACB и т. д.
Найдем все представляющие функции. <7(a) = aB, g(x)= c(g(Kx)), где К —
первоначальная нумерация алфавитных символов A = -l A,B,C,D>, р = 4;
(К: 1 2 3 4 J
§(х) = с(оВ) = 2-р° +с(а)-рх = 2 + с(а)- р = 2 + 4х .
Итак, g(x)=2 + 4x— функция, представляющая словарную функцию G(a). Я1(а,р,у)=аРу, h\x,y,z) = с(Я,(Кх,Ку,Кг)) =
= c(aPy) = c(y)+ pc(p)+ p2c(a) = р*х + ру + z = 16х + 4у + z;
^2(“,Р>т) = а“Ру, /i2(x,y,z) = c(H2(Kx,Ky,Kz)) = c(aaPy) = с(у)+ рс(р)+
+ р2с(а)+ р3с(а) = (р2 + р3)х + ру + z = 80х + 4у + z; Я3(а,р,у)= аРРу, Лзку.е) = с(аРРу)= с(у)+рс(р)+р2с(р)+р3с(а) = р3 х + (р + р2)у + + z = 64х + 20у + z; Н4(а,Р,у)= аРуу, h4(x,y,z) = с(аРуу)= с(у)+ + рс(у)+ р2с(р)+ р3с(а)= р3х + р2у + (1 + p)z = 64х + 16у+ 5z.
Перейдем теперь от формул (5.5.1) к формулам (5.5,2) для представляющих функций
ff(x,0)= g(x\
1/(хАу + i) = hx (x, у, /(x, у )). i = 1,2,3,4.
Вычислим несколько значений представляющих функций:
/(0,0) = g(0)= 2 +4-0 = 2, /(1,0) = 6, у(2,0)= 10.
i = 1, У (1,4 - 0 +1) = У(1,1)=Л, (1,0, У (1,0)) = Л, (1,0,6) = 22,
/ = 2,/(1,4-0 + 2)=/(1,2) = Л:,(1,0,/(1,0))=Л2(1,0,б)=86,
^' ]1 = 3,/(1,4-0 + 3)=/(1,3)=Лз(1,0,/(1,0)>^
i = 4,/(1,4- 0 + 4)= /(1,4)= Л4 (1,0,у(1,0)) = й4(1,0,б)= 94,
/ = 1, /(1,4 • 1 + 1) = /(1,5) = hv (1,1, /(1,1)) = Л, (1,1,22) = 40, г = 2,/(1,4-1 + 2)= /(1,6)= й2(1,1,/(1,1))= /^(1,1,22)= 106, ^
У ’ г = 3,/(1,4.1 + з) = /(1,7) = Л3(1,1,/(1,1)) = йз(1,1,22)=106, ИТ'Д'
i = 4,/(1,4-1 + 4)=/(1,8)= Л4 (1,1,/(1,1))= А4(1,1,22) = 190
Проверим совпадение номеров слов и значений представляющих функций. Пусть а = А, С?(а)= АВ, с(АВ) = 2 + 1-4 = 6, с(а) = 1, g(l) — 2 + 4-1 = 6. То же наблюдается, например, для функции
Н, -.11,(0,^)=Н^АЛ.АВ^ААВ, с(ААВ) = 2Л +1 -4+1 -16 = 22, с(а)=1, с(л) = 0, с(ав)=6, Л,(1,0,б)= 22 ит.д.
Машины Тьюринга
Тезис Черча нельзя доказать, т. к. он связывает нестрогое математическое понятие интуитивно вычислимой функции со строгим математическим понятием частично рекурсивной функции. Но в поддержку этого тезиса впоследствии другими авторами были приведены очень веские доводы.
В 1936 г. Тьюрингом был определен еще один класс интуитивно вычислимых функций и сформулирован тезис Тьюринга, эквивалентный тезису Черча. В результате попыток разложить интуитивно известные нам вычислительные процедуры на элементарные операции построена математическая модель, называемая машиной Тьюринга. Повторения элементарных операций, определенных в этой машине, достаточно для проведения любого возможного вычисления. От человека-вычислителя эта машина отличается двумя особенностями:
она не ошибается, т. е. она без всяких отклонений выполняет правила, установленные для ее работы;
она снабжена потенциально бесконечной памятью. Это значит, что хотя в каждый момент количество накопленной ею информации конечно, для
этого нет никакой верхней грани. В качестве накопителя рассматривается бесконечная лента.
Машина Тьюринга включает:
Внешний алфавит А ^Яо,^,...,^ }, т. е. конечное множество символов. В этом алфавите (в символах этого алфавита) информация вводится в машину. Машина перерабатывает введенную информацию в новую.
Внутреннийалфавит
Q=) 9о’91’---»^1’ ^ ’’ С , Р , Е к Иногда символы
(направо палево наместо печать стереть)
С,Р,Е отсутствуют. Символы ^о,^!,--.,^ выражают конечное число состояний машины, причем qx — начальное состояние, qQ — стоп- состояние.
Бесконечную в обе стороны ленту, представляющую память машины. Эта память разбита на клетки. В каждую клетку может быть записана только одна буква. а0 — пустая клетка, она всегда может появиться при движении вправо или влево, если закончится слово исходной информации <W2-^-
Управляющую головку. Она передвигается вдоль ленты и может останавливаться напротив какой-либо клетки и воспринимать записанный там символ исходного слова. В одном такте работы машины управляющая головка может сдвигаться только на одну клетку или оставаться на месте.
Работа машины складывается из тактов, по ходу которых происходит преобразование начальной информации в промежуточную. В качестве начальной информации на ленту можно подать любую конечную систему знаков внешнего алфавита, расставленную произвольным образом по ячейкам. При этом работа машины Тьюринга может заканчиваться так:
после конечного числа тактов машина останавливается в q0 состоянии. При этом на ленте оказывается переработанная информация. В этом случае говорят, что машина применима к начальной информации 1Х и перерабатывает ее в результирующую информацию Z2;
машина никогда не останавливается (не переходит в q0 состояние). В этом случае машина не применима к начальной информации 1Х.
В каждом такте работы машина Тьюринга действует по единой функцио
R
L
нальной схеме, которая имеет вид а^; => atнальной схеме, которая имеет вид а^; => atqx, гдеqx, гдеа( ,ate А,а( ,ate А,
нальной схеме, которая имеет вид а^; => at
нальной схеме, которая имеет вид а^; => at
qx, где
qx, где
а( ,ate А,
а( ,ate А,
Р
Е
qj,qs е Q и az — буква на ленте, обозреваемая управляющей головкой на данном такте, q; — текущее состояние машины на данном (в общем случае не i -м и не j -м ) такте.
На каждом такте функциональной схемой вырабатывается команда, состоящая из трех элементов (правая часть формулы):
Буква внешнего алфавита а,, на которую заменяется обозреваемая буква а;.
Адрес внешней памяти и дополнительные действия для выполнения на следующем такте R, L, С, Р или Е.
Следующее состояние машины.
Формирование правой части функциональной схемы происходит по командам, совокупность которых образует программу машины Тьюринга. Программа представляется в виде двумерной таблицы (табл. 5.6.1), называемой тьюринговой функциональной схемой, в каждой клетке которой записываются отдельные команды.
Таблица 5.6.1
Состояния
Символы внешнего алфавита
°0
°,
91
a2Lq3
a1Lq1
9г
a,Cq„
«iCq,
avCq1
9,.,
“Аз
aaRq,H
a.-M
Работа машины Тьюринга полностью определяется ее программой. Две машины Тьюринга с общей функциональной схемой идентичны, разные машины имеют разные программы, т. е. различные функциональные схемы,
В качестве символов алфавита могут быть не только буквы, часто используется, например, символ |. Говорят, что непустое слово а в алфавите А воспринимается машиной в стандартном положении, если оно записано в последовательных клетках ленты, все другие клетки пусты, и машина обозревает крайнюю клетку справа из тех, в которых записано слово а.
Рассмотрим сначала несколько примеров с полным алфавитом. Пусть начальная конфигурация имеет вид Яо#,^ a2 aQ, а машина Тьюринга управля
ется функциональной схемой, представленной в табл. 5.6.2.
Таблица 5.6.2
“i
a2
?!
ajA
?2
“.Cq„
a^Cq,
a.Cq,
Чз
«А
“iCq,
‘1а
avCq3
a0Rqt
*
Так как управляющей головкой обозревается буква а2, а машина находится в состоянии qx, при этом пусть вырабатывается команда a2Lqx, т. е. головка сдвигается влево, а2 заменяется на а2, состояние qx меняется на qx, т. е. получается конфигурация айах а2 пгао • Следующая конфигурация будет
такой — ап ах a2a2aQ, третья — аоа1 а2 а2а0, четвертая — аоах ах а2ай, пя- '/1 </2 *72
Тая— ^Д] а2 а2а0. Таким образом, мы пришли в начальное состояние. Про- цесс работы машины начал повторяться, и, следовательно, конечный результат не может быть получен, т. е. данная машина Тьюринга не применима к исходной информации.
Пусть теперь для той же машины начальная информация имеет вид а0 а1 а0.
Тогда, действуя аналогично, придем к следующим конфигурациям: аоа, д0,
<72
aoal сц ай. Так как машина перешла в начальное состояние, то слово а^ -— у»
результат ее работы, и машина применима к исходной информации.
Видно, что понятие машины Тьюринга возникает в результате прямой попытки разложить интуитивно известные нам вычислительные процедуры на элементарные операции. Тьюринг привел ряд доводов в пользу того, что повторения его элементарных операций было бы достаточно для проведения любого возможного вычисления.
Если данное состояние описывается машинным словом М, то машинное слово, описывающее следующее состояние машины, будет обозначаться через М^. Далее аналогично М^1^ (М^/1), z = 0,1,2.... Переход машины Тьюринга из начального в последующие состояния изображается в виде цепочки слов М |- М(|) |- М(2) |- ....
Чтобы описывать работу машины Тьюринга более удобным образом, текущие состояния машины пишут не внизу алфавита, а перед обозреваемой ячейкой. Например, пусть v4 = {0,1} Q = fco,^>4i\ Чо —символ остановки,апрограммасостоитизкоманд
q^0^q2R, Ч2^^Чо^> ЧЛ^Ч\^> Чг^^Чг^ и начальная конфигурация 11. Тогда 11 |- 1^,1 |- Н^|0 |- 110#20 |- 11О^о1,гдеО — символ пустой ячейки ленты машины. Если же начальная конфигурация #2Ю1, то <^101 |- 1?201 |- 1^011.
Таким образом, каждая машина Тьюринга с произвольными алфавитами А и Q и заданной программой перерабатывает s-ку слов а|,аг,...,а,, записан- ных в алфавите А, в слово 0, если машина применима к начальной информации, и машина не применима к Д-ке слов ct|,a2,—,ctt, если выражение (слово) после ее работы имеет неопределенное значение.
Словарная функция называется вычислимой по Тьюрингу, если она вычислима на подходящей машине Тьюринга.
Теорема 5.6. Все словарные функции, вычислимые по Тьюрингу, являются частично рекурсивными.
Тезис Тьюринга. Любая вычислимая функция вычислима по Тьюрингу.
Теорема 5.7. Для каждой частично рекурсивной словарной функции ?(а,,a2,...,ay), определенной на совокупности слов какого-нибудь алфавита {fl,,^,...,^}, существует машина Тьюринга с символами avalv..,an и подходящими внутренними состояниями, которая правильно вычисляет функцию F.
Рассмотрим несколько машин Тьюринга, преобразующих машинные слова одного заданного вида в машинные слова другого заданного вида. Программы машины будем писать в столбец.
Пример 1. Пусть на ленту подается два числа, заданных набором палочек, например 2 и 3. Нужно сложить эти числа. Обозначим символ сложения "+". Итак, А = {з0 = 0,|,+}, а0— начальное состояние. Найти программу, которая будучи примененной к слову й] = 0| | +1 I | 0, давала бы в результате сумму чисел 2 и 3, т. е. слово «2=0| I III О-
Программы для одного примера могут быть разными, т. е. могуг реализовываться на разных машинах Тьюринга. Опишем процесс работы машины для решения этой задачи. Пусть в начальный момент обозревается самая левая палочка. Ее нужно сдвинуть вправо, минуя все палочки и знак + до тех пор, пока не будет достигнута пустая клетка. В эту пустую клетку вписывается первая палочка. Затем нужно вернуться за второй палочкой и ее перенести вправо аналогичным образом. После этой процедуры нужно вернуться к знаку +, стереть его и остановиться. Изобразим все такты машины в виде соответствующих
конфигураций.
1. O9J | +|
||0;
8.
0| + | I 1 »з| 0;
2. OO9J +|
||0;
9.
°1 +11 ^l 1
0;
3. 0| д2 + I 1
1 °;
10.
«I +1 9з| | |
0;
4. 0| + 92| |
|0;
11.
0| +?з||||
0;
5. 0| +|
1 0;
12.
0Нз+||||
0;
6- 0| +| | ?,| 0;
13.
М +1111
0
L0| +| | |
9,0;
14.
Лз0| +Ш 1
0;
15.
0g,
+1111°;
23.
0 + Ц1?
||0;
16. 00q
2+ 1 |°1
24.
° + | 1 Чз\
||0;
17.
0 +
?2| ш °;
25.
0 + 1 73| |
П 0;
18.
0 +
^| | I 0;
26.
° + 9з| | |
||0;
19.
0 +
1 qA 1 °;
27.
°9з + | | |
| °;
20.
0 +
11 чА 0;
28.
?зО + | | |
|| 0;
21.
0 +
1 1 1 920;
29.
0?,+| | |
||0;
22.
0 +
111^1 0;
30.
°°1 1 1 1 1
0.
Подчеркнуты состояния, получаемые новой командой. Этот процесс позволяет записать алгоритм в виде следующей цепочки команд: ?J -^oRqi, q2\ -»| R4i’ q2*^*Rq2- <?2°"> с?з. g3| —> | Lq,, q3+ +Ь^, q30 ^ORq,, q, + ~^OCqo или еще более компактно в виде двумерной таблицы (табл. 5.6.3).
Таблица 5.6.3
0
+
91
—
0Cq«
ORq,
92
I Cq3
+ Rq2
I Rq.
9з
ORq,
+ Lq,
1 Lq,
Пример 2. Введем следующие обозначения: 1Л = LL^l , 0л = 00...О и х раз л- раз
0° = 1° = Л. Составим программу "перенос нуля": <7,00Г0 => ^ОГ^О. В левой колонке табл. 5,6.4 будем располагать программу, в правой— результат ее преобразования исходного слова. Исходное слово пусть будет qx 001Л0.
Таблица 5.6.4
Команда
Результат
5,0—>52Д
05,01'0
<;20->9з1
01?3Г0
731 -> q,R храз
011'7,0
01'5,10
?J ^»50
01*5,00
550-4 56L
01"56Ю0
qJ^<i6L х-1ряз
5„0Г00
96O->7oO
5„0Г00
Пример 3. Левый сдвиг: ОРг^О^ ^оО1лО. Программа этого примера очень короткая и абсолютно очевидная (табл. 5.6.5).
Таблица 5.6.5
Команда
Результат
5,0 ^52L
О1'“'52Ю
#21 q2L х-1 раз
520Г0
5„01'0
Во втором и третьем примерах в текстах программ опущен символ С.
Пример 4, Правый сдвиг: qx 01Л0 => 01х доО. Программа этой машины получается из предыдущей программы заменой символа L на R.
Пример 5. Транспозиция: OP^OF'O ^ОР^ОРО.
Сначала переведем слово ОР^ОРО в слово ОР^РОО. При у >0 это достигается очевидной программой, записанной в табл. 5.6.6. А именно сначала по программе правого сдвига из исходного слова 0Р qx 01 v0 получаем слово ОРОК^зО. Затем выполняем следующие команды.
9 Зак 4306
Таблица 5.6.6
Команда
Результат
ОГ'ОГ'^Ю
?41-»?5о
01'01'-'?!10
9,0-» ?6Л
01'0Г!9б100
ЧЛ^Ч»1- У'2 Раз
Ol'^Ol'-'OO
4ь0^4т1
01’9,1'00
Чтобы получить слово ОР^ОНОО и при у = 0, добавим команду
Таблица 5.6.6 (продолжение 1)
9,0-» ?70
01’9,1'00 (у>0)
Теперь из подслова Гх перебрасываем один символ 1 в промежуток между двумя последними нулями. Это достигается следующей программой:
Таблица 5.6.6 (продолженг1е 2)
9)1
0Г'4 4,11'00
4,1 -»4,0
ОГ1g,01'00
4,0 ^ql3R
0Г’-|09ш1'00
4io^4ior У Раз
ОГ^’СИ^оОО
Чю0->9и1
or'oi'^jo
ЧхД^4пЬ
Ol'-'Ol'-'^jllO
4n\^qrt0
01"'01'49I3010
4n0^quL
0Гч01'-29,41010
q13\^>quL y-I раз
Ol-'^OK'OIO
4M0->q,5l
or14 9,,1'010
Этот кусок программы работает при х>0, у>0. Чтобы тот же результат получился и при у = 0, добавляем к записанной программе еще приказы:
Таблица 5.6.6 (продолжение 3)
»70 —* <?|6>
0Г<7,6100
ОГ'^ПОО
<7i7 1 —> ^|50
ог^р-тио
Теперь зацикливаем программу приказами:
Таблица 5.6.6 (продолжение 4)
9/51 —»97*
ог-'^роюОоо)
«,50->«70
Ol'-'/frPOlOG^O)
Если л — 1 >0, то слово О1Л-|<77Т’О1О переработается в слово 01Л”2^71'0110. Если же х-2>0,то процесс дальнейшей переработки даст слово ОГ-3#7 Р01 110 и т, д. Через х циклов получим слово o^iwo.
Таблица 5.6.6 (продолжение 5)
9т1 -^qtL
«„орого
^80 > cj^R
серого
Чи^ЧцК У раз
OP^gOrO
<7„0->«„0
ог«„ого
Пример 6. Комбинируя между собой примеры 2, 3, 4 и 5, легко получать машины, выполняющие более сложные преобразования слов. Так, например, применяя дважды подряд программу правого сдвига (см. пример 4), получаем машину, выполняющую двойной перенос: ^OTWO^OIW^O.
Пример 7. Программа циклического сдвига получается применением друг за другом программы транспозиции, левого сдвига и опять транспозиции (примеры 5 и 3): ОГ'ОКу,ОГО => ОГ^ОРОР'О.
Достаточно научиться строить машины, правильно вычисляющие простейшие функции и функции, возникающие из правильно вычислимых функций с помощью операций суперпозиции, примитивной рекурсии и минимизации.
Пример 8. Вычислить функцию <9(х)=0, т. е. ^ 01А0 =^ ^оОО'+| (табл. 5.6.7).
Таблица 5.6.7
Команда
Результат
<7,0-><?,«
О^РО
qT 1 —> qTR х раз
01V/20
g20 -> q,L
Ol'-’^IO
ftl-^.Ol , Лх - 2 раз
q^^q3L\
or'^ool 0Г'"2<73100]
»з°^»о°
<7,,00"’
Пример 9. Вычислить оператор сдвига Л(х)=х+1, т. е. 01А => ^оО1*+1 (табл. 5.6.8).
Таблица 5.6.8
Команда
Результат
»|0^»2Я
О<72Г'О
(/21 —> q^ х раз
01л<720
4^-4q3\
01Л^310
дД —> q3L х-1 раз
Ol^'^l 10
q,0 -» q„0
»,01'я
Пример 10. Составим программу функции усеченной разности х — 1 в табл. 5.6.9, если начальное и конечное слово заданы следующим об-
-V—I
разом: qx 01А0 => (7001 00.
Таблица 5.6.9
Команда
Результат
5,0-, 52Я
0?2l*0
q21 —> q2R храз
or 9z0
q^^»q3L
or4 5,10
9з1->д.О
0114 q, 00
5.0 ^5sL
0Г’2 5,100
<751 —>q5L х-2раза
550Г'00
q^-^q,»
5„ОГ'ОО
4^-4q0tt
для x = 0
Пример 11. Построить машину Тьюринга, реализующую алгоритм вычисления функции /(и)=и + 2 в десятичной системе счисления.
В этом примере за внешний алфавит необходимо взять А = {д0,04,2,3,4,5,6,7,8,9}. Нужно, чтобы машина, находясь в стандартном состоянии, заменяла последнюю цифру числа п (если эта цифра меньше 8) цифрой, на две единицы большей, и переходила в стоп-состояние. Если последняя цифра числа и равна 8, то ее нужно заменить на 0 и перейти влево в новое состояние q2, которое добавило бы к следующему разряду единицу. Аналогично, если последняя цифра числа равна 9, то ее нужно заменить па единицу и перейти влево в состояние q2.
Например, пусть /(59), тогда начальная конфигурация а0 5qx9a0 (ввиду того, что символ 0 входит в алфавит А в качестве рабочего символа в этом примере, в отличие от всех предыдущих, содержимое пустой ячейки машины Тьюринга обозначено через а0), а сама программа имеет вид, представленный в табл. 5.6.10.
Таблица 5.6.10
Команда
Результат
Ч^^Ч^Ь
^о^г^^о
ч25-^ч«6С
^о9о^^О
Для всех возможных цифр программа выглядит следующим образом (табл. 5.6.11).
Таблица 5.6.11
0
1
2
3
9,
—
9,2
9о3
9,4
9,5
92
9,1
So1
Ч«1
9о3
9,4
4
5
6
7
8
9
9,
9,6
4,1
9, 8
4,1
92 0L
921L
92
ч,^
Чо6
4,1
9,8
9,9
920L
Пример 12. Построить машину Тьюринга, правильно вычисляющую функцию
Пусть исходное состояние ^01110. Тогда программа может быть такой (табл. 5.6.12).
Таблица 5.6.12
Команда
Результат
9|0-»92^
o92iiio
f^O —>q0L если® 921-»9зк
01^3110
q3l -> q30R
010^,10
ЧЛ^ЧзОК
0100^,0
q,0 q„L
0109400
qt0~^q,L 1раза
0д41000
q.V-^q.X
09,10
Неразрешимые алгоритмические проблемы
Введение понятия машины Тьюринга уточняет понятие алгоритма и указывает путь решения какой-то массовой проблемы. Однако машина Тьюринга бывает неприменима к начальной информации (исходному слову алфавита). Та же ситуация повторяется относительно некоторых задач, для решения которых не удается создать машины Тьюринга. Один из первых результатов такого типа получен Черчем в 1936 г. Он касается проблемы распознавания выводимости в математической логике.
Аксиоматический метод в математике заключается в том, что все теоремы данной теории получаются посредством формально-логического вывода из нескольких аксиом, принимаемых в данной теории без доказательств. Например, в математической логике описывается специальный язык формул, позволяющий любое предложение математической теории записать в виде вполне определенной формулы, а процесс логического вывода из посылки А следствия В может быть представлен в виде процесса формальных преобразований исходной формулы. Это достигается путем использования логического исчисления, в котором указана система допустимых преобразований, изображающих элементарные акты логического умозаключения, из которых складывается любой, сколь угодно сложный формально-логический вывод.
Вопрос о логической выводимости следствия В из посылки А является вопросом о существовании дедуктивной цепочки, ведущей от формулы А к формуле В . В связи с этим возникает проблема распознавания выводимости: существует ли для двух формул А и В дедуктивная цепочка, ведущая от А к В или нет. Решение этой проблемы понимается в смысле вопроса о существовании алгоритма, дающего ответ при любых А и В . Черчем эта проблема была решена отрицательно.
Теорема 5.8 (теорема Черча). Проблема распознавания выводимости алгоритмически неразрешима.
Проблема распознавания самоприменимости — вторая проблема, положительное решение которой не найдено до сих пор. Ее суть заключается в следующем. Программу машины Тьюринга можно закодировать каким- либо определенным шифром. На ленте машины можно изобразить ее же собственный шифр, записанный в алфавите машины. Здесь как и в случае обычной программы возможны два случая:
машина применима к своему шифру, т. е. она перерабатывает этот шифр и после конечного числа тактов останавливается;
машина неприменима к своему шифру, т. е. машина никогда не переходит в стоп-состояние.
Таким образом, сами машины (или их шифры) разбиваются на два класса: самоприменимых и несамоприменимых тыоринговых машин. Проблема заключается в следующем: как по любому заданному шифру установить, к какому классу относится машина, зашифрованная им, к классу самоприменимых или несамоприменимых.
Теорема 5.9. Проблема распознавания самопрнмеинмостн алгоритмически неразрешима.
Проблема эквивалентности слов для ассоциативных исчислений.
Рассмотрим некоторый алфавит А = {а,Ь,с,...} и множество слов в этом алфавите. Будем рассматривать преобразования одних слов в другие с помощью некоторых допустимых подстановок а—>Р , где аир — два слова в том же алфавите А . Если слово у содержит а как подслово, например а|аа2а3а, то возможны следующие подстановки: а]ра2а3а, а^агазР, ajPa2a3p.
Ассоциативным исчислением называется совокупность всех слов в некотором алфавите вместе с какой-нибудь конечной системой допустимых подстановок. Для задания ассоциативного исчисления достаточно задать соответствующий алфавит и систему подстановок.
Если слово R может быть преобразовано в слово 5 путем однократного применения определенной подстановки, то R и 5 называются смежными словами. Последовательность слов Rt,R2v.,Rn_\)R,l таких, что все пары слов Rj,RM А = 1,2,..., л -1 являются смежными, называется дедуктивной цепочкой, ведущей от слова /?, к слову Rn. Если существует цепочка, ведущая от слова R к слову 5, то R и 5 называются эквивалентными: R-S.
Для каждого ассоциативного исчисления возникает своя специальная проблема эквивалентности слов: для любых двух слов в данном исчислении требуется узнать, эквивалентны они или нет.
Теорема 5.10. Проблема эквивалентности слов в любом ассоциативном исчислении алгоритмически неразрешима.
Эта проблема решена лишь в некоторых ассоциативных исчислениях специального вида.
Практическое занятие № 12. Словарные функции.
Построение программ для машин Тьюринга
Пусть словарная функция F(a) в алфавите А={ДВ,С] определена следующим образом:
F^=BC, fM=hMf№= последней букве слова р, 'F(pB)=W2(p,F(p))=S3(p)=pC,
F(pC)=H3(p,F(p))=/^,F(p))=p.
Найти значение F(CBA) и определить все представляющие функции.
В алфавите А = ^BjC.DjEj задана словарная функция F(a,0,y):
в(л,р,у)=с(р,у)=у,
f («а. Р. y) = w> («> f («, Р, y). Р. y) = «Рт> F(oB,P,y)= Н2(а,Е(а,р,у^р,у)=Л, ' F(aC,P,y)= H,(a,Е(а,р,у),Р,у) = S5(a)= aE, F(aD,P,Y)=H4(a,F(a,p,y)iP,Y)=YPa, f(oE,P,y)= /75(a,F(a,P,Y^P,Y)= BCD.
Определить значение F(CD, A, E) и найти соответствующее значение представляющей функции.
Построить машину Тьюринга для вычисления функции —[1,х = 0,
sgnx = -jИсходное состояние <7,01110 или <7,00000.
Какую функцию вычисляет машина Тьюринга со следующей системой команд: <у, 0 —»<72О/?, qx 1 —> у01, q20 —» д01, qA —> q2R 7
Решить задачу 5.8.3. в алфавите А-{10,[ }, если начальное слово ао| I I °о ■
Построить машину Тьюринга для правильного вычисления функции х + у.
Построить машину Тьюринга, правильно вычисляющую функцию тп (X] ,х2,...,х„), где 1 < m < п.
Пусть функции /(х) и g(x) правильно вычислимы. Показать, что функция й(х) = /(g(x)) правильно вычислима.
Построить машины Тьюринга для правильного вычисления функций:
а) х— у;
Показать, что если функция g(x, у) правильно вычислима, то и функция /(x)=py(g(x,y)=0) правильно вычислима.
Часть II
Ответы, решения, указания
Глава 6. Алгебра высказываний
Глава 7. Исчисление высказываний
Глава 8. Логика предикатов
Глава 9. Исчисление предикатов
Глава 10. Теория алгоритмов
Глава 6
Алгебра высказываний
Ответы и решения задач практического занятия № 1
Все предложения, кроме предложения 6, являются высказываниями. Высказывание 2 считается истинным в геометрии Евклида и ложным в геометрии Лобачевского. Всказывание 3 ложно. Высказывания 1, 4 и 7 истинны. В текущее время неизвестно, истинно или ложно высказывание 5.
/7 = { число 174 не делится на 3 } ложно; pvq = V число 174 делится на 3 или идет дождь } истинно; р а q = { число 174 делится на 3 и идег дождь } ложно; р —» q = { если 174 делится на 3, то идет дождь } ложно; р —> q = { если 174 не делится па 3, то идет дождь } истинно; р ^ q = { 174 делится на 3 тогда и только тогда, когда не идет дождь } истинно,
q = { неверно, что если число простое, то оно нечетное }, если число равно двум, высказывание истинно, во всех остальных случаях оно ложно; q —> р = { неверно, что если истинно, что если число простое, то оно нечетное, тогда конъюнкция коммутативна = если число простое, то оно нечетное и конъюнкция некоммутативна } ложно: ^р a q^ —) р — истинное высказывание; (^f v Р^^ Ч = q — смотрите первый случай.
Высказываниями являются второе и третье утверждения, причем второе ложно, а третье истинно.
Противоречивы данные 2 и 3.
Не формулами являются последовательности 1 и 4.
1) А? А, А> А^ Ло —> А,, At > Л2, Aq v А2, (Aq —> A )v (j| > J2)'»
A, A2, A3, A,, A^, Ax —> A2, A2 <-> A3;
3)4, Л2, 4,8, С, В v С, 4 а (в v с), A, v a, a (Bv с).
Тождественно истинными являются формулы 2 и 3.
X—> у = 1, z —»(х—> у)= z —> 1 = 1 всегда;
А' —> j^ —> v = 1 —> у = 0 —> v = 1 всегда;
/ _ X . П. 2 = 1,
V "7[О, 2 = 0.
Таблицы истинности всех требуемых формул представлены в табл. 6.1-6,8.
Таблица 6.1
4
4
4
4
А\ А
4-» 4
1)
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
1
Таблица 6.2
4
4
4
4^4
4^4
4 -^ 4
л, -»
(а -> А)
(4 ->4)->
(4 4)
2)
1
1
1
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
Таблица 6.3
р
Q
PaQ
PoQ
3)
1
1
1
1
1
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
Таблица 6.4
р
Q
"р
Q-^P
ра1<2-^
4)
1
1
0
1
1
1
1
0
0
1
1
I
0
1
1
0
0
1
0
0
1
1
0
1
Таблица 6.5
р
Q
р
QvP
е
Q-^P
Pa^vP^
(^a^v^a
5)
1
1
0
1
0
1
1
1
1
I
0
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
0
1
1
1
0
0
0
0
Таблица 6.6
р
Q
я
QaP
QaP
P^QaP
P-^QaP
PvR
6)
1
1
1
1
0
0
1
1
1
1
I
0
1
0
0
1
1
1
1
0
1
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
Таблица 6.6 (окончание)
p
Q
я
QaP
QaP
P^QaP
P-^QaP
Pv R
6)
0
1
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
0
1
Таблица 6.7
p
Q
p
QvP
Q
Q-4 p
P^M
^p^Q
7)
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
Таблица 6.8
p
Q
P-^Q
QaP
P*P)
8)
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
Упростим формулы путем равносильных преобразований. Тогда будет очевиден набор переменных, при которых формула может принимать логическое значение 1.
1)P^P^PvP = PaP = P,P = 1.
(Q^(.P aR^a^Pv R)^Q)^v(p a R)V ((^ V R> Q>
^^v(PaR))a((PvR)aQ)^
= (^ v p)a ^ v r))a ((p a 5)v (r a Q^
= ^vPQvRQv PR^ (pQ v RQ^
= PQvPQv PQR v PQR v QR v PQR v QR v PQR =
= PQR vQRvPQ = QR(P v 1) v PQ e QR v PQ = Q(P v R).
2 = 0, P=R=1
(P Q1)^ (Q P^PV Qv^Qv P^^PvQ^vQv P ^Pv^P^P-vQ.
P = l, Q = l-
(pv Pa б)—э P= (O a 2)—R = 0 —> P = 1 v P = 1. Таким образом, данное высказывание является тождественно истинным и не зависит оттого, истинны или ложны высказывания Р, О и R.
Тождественная истинность формул доказывается либо непосредственно по таблицам истинности, либо путем равносильных преобразований. Для формул 1 и 8 приведены таблицы истинности (табл. 6.9 и 6.10).
1)Таблица 6.9
p
Q
PaQ
2->(PaQ)
р^(е^(рле))
1
1
1
1
I
0
0
1
1
0
1
0
0
0
0
0
1
1
(P^Q)^((p^2)^-p)^/’v2v^?Qvp)^(Pa2)v v(PA2)vP = PevPQvP = P^vQ)vP= PvP = l
(Р^ R)^((Q^ P)^((Pv2)->P))=PvPv^vPv v "PvQ v p)= (p A p)v ((q a p)v ((p a q)v p))= PR v QR v vPQvR = PR^^vQ)v Qr(p v p)v PQ^R v p)v P a л (r v r)a (e v q)= PQR v PQR v PQR v PQR v PQR v
v PQR v PQR v PQR = Pq(r v R^v Pq(r v R^v Pq(r v R^v vPQ^RvR^P^vQ^vP^vQ^PvP = l
^(Q^R^^PvQ^VvR^QvRvP^Qv^PvR^
= ^^r)v^P aq)v(Pv R>QRvPQv Pv R = Qr(pvp)v v Pq(r v r)v P^2 v q\r v r)v r(p v p)^2 v ё)= PQR v
vPQRvPQRvPQRvPQRvPQRvPQRvPQRv
v PQR v PQR v PQR v PQR v PQR = PQR vPQRv PQR v v PQR vPQRvPQRv vPQR vPQR = PQ^R vR^vPQ^RvR^ vPQ(pvP)vP5(pvp)=e(Pvp)ve(pvp)=QvQSl
^^p)^(^^p)^e)=evpv(g?pve)3QPvepv vQ=e(pvp)vg=evQ3i
6)P->(P^Q)sPvPvQslvQ = l
(p e)^ ((Q R)^ (P -> я)) ^ P^Q v ^7r v (p v p))3 = PQvgRvPvR = Pg(RvR)vQp(pvp)vP(gvQ)(RvR)v vR(pvP)gvQ)=PQRvPQRvPQPvP2PvP!2RvPQRv л PQR v PQR vPQRv PQR v PQR v PQR = Pq(rvr)v vPQ^RvRVPQ^RvRyPQ^RvR^P^vQ^v vp(QvQ^PvP = l
8)Таблица 6.10
p
p
p
p^p
1
0
1
1
0
1
0
1
1) ^(дА^ь^Р^у^ = PaQR'vQvPvQ^Pa(Q'vR)vQ'vPvQ = hP^Sr7^vQ = Qv PQRhQ(\v PR>Q^ Тогда, например, если Р и R — любые, а 2 = 1, то исходная формула ложна. 2) ((Р V e)v R) -» ((Р vQ)a(Pv R> PvQvR v v(Pv PQvPRvQR)=PQRv(PvQR)=PQRv PvQR. Тогда P = Q = 0, R = 1. 3) Для формулы 3 таблица истинности такова (табл. 6.11).
Таблица 6.11
р
Q
PvQ
р
PaQ
PaQ
(рле)у(т>ле)
3)
1
1
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
0
1
Из табл. 6.11 видно, что Р=\, 2 = 0.
Pv0 = lР v 0 = 1 ’Pv0 = lР v 0 = 1 ’
Pv0 = l
Р v 0 = 1 ’
Pv0 = l
Р v 0 = 1 ’
Пусть, например, 2V ^ = 0, тогда 2 = 0 и R = 0 и
[? = 0
т. е. <, что невозможно.
(р = 1
Предположим, что РR = 0. Тогда, очевидно, Р= \ и R = Y, т. е. R = 0. Следовательно, PvQ = lvQ = 0vQ=\ и /?v2 = 0v2 = 1,t. е. 2 = 1 11 2 = 1 одновременно, что невозможно. Таким образом, всегда Р —> R * 0, т. е. Р —> R = 1.
Пусть R v W = 0. Отсюда по табл ице истинности R = О, W = 0.
Тогда 2 = 0 иТогда 2 = 0 иНо Р —> R = 1 и О W= \, т. е.
Тогда 2 = 0 и
Тогда 2 = 0 и
Р = 0, Р v 2 = О Ф 1. Получено противоречие, т. е. R v W = 1.
Таблицы истинности (табл. 6.12) для двухместных операций имеют следующий вид.
Таблица 6.12
р
Q
Операция
1
1
I
0
*
0
1
0
0
*
Все эти таблицы различаются только последним столбцом, элементы которого заменены значком *. Вместо * может стоять 1 или 0, причем возможны любые комбинации. Различных комбинаций будет 24 = 16 (это размещения с повторениями из двух элементов по четыре).
^v5=^a5, АлВ = AvB.
Составим таблицу истинности для операции ©, начиная с тех строк, для которых © истинна. Каждой такой строке поставим в соответствие конъюнкцию тех простых высказываний, которые в этой строке истинны, и отрицание остальных. Затем найдем дизъюнкцию этих конъюнкций. Каждая из построенных конъюнкций будет истинна только при тех значениях истинности простых высказываний, которые стоят в соответствующей ей строке. Ясно, что логическая операция © определяется множеством наборов, на которых полученное сложное высказывание истинно и только на них, на остальных оно ложно. Например, для эквиваленции: А, <-> А2 = (^ —> А2)л (А2 —> 4).
Таблица 6.13
4
4
4^4
1
1
1
1
0
0
0
1
0
0
0
1
Из табл. 6.13 видно, что
U Л Д) v (д л Д) S (л, v (д л Д ))л (д v (д л Д)) =
= ((д v Д )л (д v Д ))л ((д v Д )л (д v Д ))= (д v Д )л
л (д v Д )= (д -» Д)л(Д -> д)= А, <-> Д.
А —> В sAv В = А а В = Ал В ;
Ал (А v С)л (в v С) = Aa(BvC)a(AvC)s
= ((A v В)л (A v С))л (А v С)= ((А л В)л (A v С)) v v ((А л С)л (A v С))= (А л (А л B)v С л (А л В)) v v (А л (А л С) v С л (А л С)) = (АВ v ABC) v (a v АС) = = АВ(1 v C)v АС = АВ v АС = (А л B)v (а л С).
(AaA)s АА = А;
(Av(BaA))=A или по табл. 6.14.
Таблица 6.14
А
в
B^A
Av (В л А)
1
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
Логические значения левой и правой частей формулы 5 приведены в табл. 6.15.
Таблица 6.15
А
в
с
ВаС
/1v(BaC)
Av В
AvC
(Av В) л (Av С)
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
Таблица 6.15 (окончание)
А
в
с
ВлС
Av (Вл С)
Av В
AvC
(AvB)a(AvC)
1
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
6) (а л B)v ((а V в)л (a v в))э ((а л B)v (a v В))л ((а л в) v v (a v В> (((A v B)v А)л ((A v B)v В))л (((a v 5)v а)л л ((а v В) v В )) = ((A v S) л (A v В)) л (1 л 1) = A v 3.
Логические значения левой и правой частей формулы 7 приведены в табл. 6.16.
Таблица 6.16
А
В
Av В
Av В
а
в
АлВ
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
1
0
0
0
0
0
1
1
I
1
Пусть дана исходная формула А. Если она содержит импликацию, то эту логическую связку можно убрать, используя эквивалентность 4 —> Вх = А^х/ ВИ где Д и Д — подформулы формулы А. Отрицание всегда можно отнести к простым высказываниям по формулам 4 л В} = A, v Bt и ^ v В( = ^ л В, и используя следующую эквивалентность: если С = D, то ДС)= lij)Y
Ответы и решения практического занятия №2
Пусть формуле 4 соответствует функция f^ ), формуле А^ соот- ,,\, (истина, / х [L
ветствует булева функция /(Л2). Если А=^ то /L4)=i [ ложь,[0.
Тогда М='М, /и^Ми^МУ
f(.A, v^)= /(Л,) v М)- М ^A^ = М) М )■
Видно, что значению истина всегда соответствует значение 1, значению ложь соответствует 0.
Это число равно числу двоичных наборов длины 2". Действительно, в истинностной таблице функции /(x|, х2,...,л;г) фиксируем каким- либо способом порядок строчек, т. е. порядок наборов (а],а2,. .,а,|) значений аргументов xx>xlv..)xn. Тогда функция /(л^,^,...,^) однозначно определяется своим последним столбцом, т. е. набором из 2" нулей и единиц. Различных функций столько, сколько имеется различных наборов длины 2" из двух элементов 0 и 1,т. е. 22 .
/, (xl,x2,x3) = xtx2x3 v х^х2х3 v х^х2х3 v xvv2x3 =
= ^2x3(xj v xjv ^2л3(х| v xj= л2х3 v х2х3;
f г(Х| ’-^2 ’-V3 ) = •^1^2 ^3 *^"1 '^'2'^3 "^l ^2 "^3 -^1'^2^*3 ■^t"^"'-* "^'з "^1 '^2"^"з "^1 '^'2 "^З =
^(*1 ^К^хД VXjjvx.XjX, VJ, v, vx.^ s^a-2a-3 VA; a2a3 V V A| A2%3 V A|X2 VX2Xj — X| ^X2 VX2X3 ^VX2 ^A3 VA"|X3 ) VX|A'2 X3 =
X!(x2 v.x3)vx2(x| V.vjv vyv,,^ SA"^ VXpXj VA2A"! VXj^ VAjAjA^ =
x,^ v x,x3)v x,x3 V x,x2 V x2x3 = X,x2 V X2X3 V X,X, V X,X2 v x2x3 =
= x,(x2 v x3)v x2(x, v x3)vx2x3 ;
/з (a, , X2 , X3 ) = X[ X2X3 V X) X, x3 s x, x2 (x3 V x3) = X, x2 ;
1,11.4.
1) /(о,у, z) = (О л y)v (у л z^= yz, /(1J,z)=(1a)’)v^z)= yv yz = (yvy)A(yvz)sy VZ, /(О, У,z)* /(1.У,z); /(хД z) = (xa0)v(1az)ez, /(x,l,z)= (xa1)v (0л z)= x, /(x,O,z)* /(x,l,z); /(x, y,0) = (xA y)v (y A o)= xy, Лх,уД)=(хл y)v (ул 1)s у(хл y)= (xv у)л (.У V y)= XV у, f^x, y,0)^ /(x, y,l). Все переменные существенны.
2)Л0,у)=(Олу)уО3О, Д1,уИлуМ = 1, /(О, Д')* /(1,у), /(х,О) = (хл o)v X = 0 v X = X, /(х,1) = (ха 1)v х = xv xs X, /(х,О) = /(х,1). х— существен- ная переменная, у — фиктивная.
) f{x, у, г) = (х -» (у -> z))((х -» у) (х -» z)) =
V у V Z = xv (yz V у )v Z = XV у V Z V Z S XV у vl si.
Все три переменные в формуле — фиктивные, формула тождественно истинная.
1.11.5.
хл у s xv у, х—> у = xv у;
XAy = XAysxVysx^y, XV у = XV у = х^> у \
х= XV О S Л —> о ;
X V у = (х v у)л (у V у) S (х л у )v у = Г X А у | v у =
= xv yvy s(x->y)-)y.
Гпава 6. Алгебра высказываний 275 1.11.6.
((А^В)^(С^ a))^(b^c)sAvBv(cva)v^vc)s sAvBaCvAvBvCs^Av в)л (с л a))v В v С =
((a v й)л С л a)v В v С = (((А л a)v (а л в))л c)v В v С з
AC v ABC v Sv С = AC v В v С — ДНФ, получим теперь КНФ. AC v В vC = ((Av в)л(С v B))vC з
((a v В v с)л (с v В v с))= A v В v С— КНФ;
(^А^ В^А^В^С^ С = Av BvAvB^Cv С s
^AvBvAvBaCvCs^AvB^aA^vB^a c)v С з
= ^А aA]v(Aa b)v в)л c)v С = (((a v в)л (в v 5))а c)v С з
= ((a v в)л c)v С = ((а л C)v (в л c))v С =
__—ДНФ,
з ACvBCvC = BCvC
ВС V С = (вл c)v С = (в V с)л (Сv С) = (в v с)л С— КНФ;
((А -^<В^ С)) ((лс)^ (л В^
^AvBvCv AvCvAvB = (aa(bac))v(AaC)v(avb)= = ABCv ACvA v "в— ДНФ,
ABCvACvAvB зАВ CvAvCv В = AvBvC —КНФ.
Пусть переменные Au AIv..sAn принимают значение 1, а переменные Bt,B2,...,Bm — значение 0. Требуемой элементарной конъюнкцией будет выражение Д л А2 л ...а Д1 л Вх л В2 л ...л Вт .
Табличный способ реализован для формулы 1. Результаты приведены в табл. 6.17.
Таблица 6.17
А
в
с
ЛлС
ВаС
ВС-4 АС
А
в
л^в
1)
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
0
0
1
0
1
0
0
0
I
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
СДНФ = ABC v ABC v АВС ху ABC v ABC v ABC v ABC v АВС.
Способ эквивалентных преобразований:
((а~>в)—>((ВлС)—>(АлС)))е AvB v(bXCv(AaC))=(aab)v v((Bvc)v Ac)=ABv(bv(cv a)a(Cvc))sABvBvCv А =
= AB(c v с) v в(а v а)(с v с) v с(а v а)(в v fl) v а(в v в\с v c)s
= ABCvABCvABCvABCvABCvABCvABCvABCvABCv
vABCvABCvABCvABCvABCvАВСгABCvABCvABCv
v ABC v ABC v ABC v ABC v ABC.
Надо заметить, что способ эквивалентных преобразований заметно лучше табличного. При малом числе переменных это не ощутимо, ио, если, например, рассмотреть функцию /(х|,х2,...,х20) = х, v х2 v...vx20, то будет видно, что формула в правой части содержит 39 символов (20 символов переменных и 19 символов дизъюнкции), таблица же для /(х^,х2,...,х20) содержит 220 > 106, т. е. более миллиона строк.
((,-4 —> В)—> я)—> (/1 —> (В л Я))= A v В v A v (5 v ,4в)а s((avb)a a)v(av Ab)s(aa a)v(AaB)v(av Ab)s = АВ v АВ v A s АВ v A s АВ v а(в v в)э АВ v АВ v АВ ;
3") А а В ^> А а А а В В = А а В v А а А а В v В а ^(АВ а А)л (АВ aB)s АаВ ;
Д (Д (Д., 4>4 v (д v (... v v^v4,)..))= A, vA2 V...V4.! vA„ а
= А, (д v А2 (аз v д)..(д v A,, )v
V А(А V Д \a3 v д)..(д, v Д, )v
v Д,ч (a, v А, (а2 v А )-(а,-2 v А„_2)■
'(A, vA.)v А„(а, уА))(д vAj)..^., уД,)
Все записанные конъюнкции раскрываются одинаково. Например,
A (a v A )-(A-i v A-i R v А. )=
=(а а2 v a, a )-(a-i v а,-1 Ха, v а. )=
s(aAA-i vAAA,-i v-v AAA-1 v AAA-Да, v А,)5
= ДАДЧД V Д АД.Д V... V А А2 A.iA, V
v AAzA.-iA, vAAA,.,a v ^ад.,д, v...
vAAA-iA, vAAA-iA
и т. д. После слияний членов по закону идемпотентности в итоговой СДНФ всей формулы будут содержаться все логические слагаемые вида 4°’ л JJ2 л ...л Л^", кроме одного ^ л Аг л ...л Д1Ч Д, .
(я->с)^В^ X = AvCvBvA = (aac)v(saa)s а AC v АВ а Ас(в v b)v Ав(с v с)=
= АСВ V АСВ V ABC v АВС.
Табличный способ для формулы 1 (табл. 6.18).
Таблица 6.18
А
в
с
в^с
В v С —> А
с-4 А
1)
1)
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
I
0
1
0
I
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
0
1
0
0
1
1
i
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
СДНФ1) = АВС. СКНФ1) = СДНФ1) = ABC = AvBvC.
Метод эквивалентных преобразований:
(с А1)^ (в v С А)=С v Av В v С v А =
s (с л a)v (В v С v а) = Av Bv С v СА = Av Bv С;
TaB^~Av(Aa(BvC)) = 7aBvAv(ABvAC) =
s (aB л a)v (AB v AC)s AB v AC = A(B vC)e
s (a v (fl л в))л ((В v C) v (а а а)) =
s (A v в) a (a v в)а (В v С v А)л (в v С v а)=
3 ((а V в) V (с л с))л ((a v s)v (с л с))л
a (A v В v С)л (a v В v c)s (A v В v С)л (a v В v с)л
л (a v В v с)л (a v В v с)л (A v В v С)л (a v В v с)=
s (Av В v C^Av В vC^AvB v C^AvB vC^Av В v с);
Aa(BvC) (Я л B)v С = Aa(BvC)v ((Я v С) а (в v С)) = S ABv ACv(AvC)a(BvC)s
= АВ v AC v А(В v С) v С Ui v С) =
= АВ v AC v АВ v AC v ВС v С =
= АВ v AC v ВС v С = АВ v С =
= (A v С)л (В v С) =
з ((A v C)v (fl л в))л ((В v С) v (а л а))=
= (A v В v С)л (a v В v с)л (A v В v С) А ^ v В v c)s
= (A v В v С^А v В v С^А vBvc);
(a v В Я л с)^ Я A v В л С г A v В v (А л С) v
v A v A v (в л с)= (A v в)л (a7c)v A v (в л с)=
s (a v 5)л ^4 v c)v A v (в л с) =
= (avb)a Av(avb)aCv(Av B)a(avc)s
= AAvABvACvBCv(AvB)aAv(AvB)aCs
= AB v AC v ВС v A v AB v AC v ВС =
= AvABvBCvBCsAvABvC = AvBvC;
A, v A2 v ... v A„ —> В, л B2 л... a B„ =
((Л A 4 A A 4)v В, )л ((л A 4 A A 4)v B2 )л
... А ((Л A A; A A )/B„ ) ^ (Д'V В, )л (^ V В, )л ...
...a(avB,)a(avB2)a(a vB2)a...
...a(avB2)a...a(avB„)a(avB1)a...a(avB„).
Поскольку исходная формула абсолютно истинна, ее СДНФ должна содержать все различные элементарные конъюнкции, каждая из которых обладает свойствами совершенства. Число элементарных конъюнкций для функции и переменных должно быть равно числу строк истинностной таблицы, т. е. 2”. Тогда:
СДНФ /(х)= XV X;
СДНФ Дх, у) = ху v ху v ху v ху;
СДНФ Дх, у, z) = xyzv xyz v xyz v хуz v xyz v xyz vxyzv xyz.
Исходные соображения аналогичны соображениям предыдущей задачи.
СКНФ/(х)= ха х;
СКИФ Дх, у) = (xv у)л (xv у)л (xv у)л (xv у);
СКНФ/(х,у,г)=
= (х v у v z) л (х v у v г)л (х v у v г)л
л (х V у V z)a (х V у V z)a (х V у V z)a л (г v у v z)a(x v у v z).
Так как /(х, y,z) = 1, то формулу удобно представить в виде ДНФ, тогда достаточно, чтобы хотя бы одна конъюнкция была истинной. Это можно обеспечить перечислением переменных в конъюнкциях, причем достаточно трех конъюнкций, и при этом одна из переменных должна входить в конъюнкцию сама, а две других в виде отрицаний. Таким образом,
Дх,У,^= (хл ул z)v (гл ул z)v (хл ул z).
Представим опять формулу в виде ДНФ. Для функции /(х, у, z) существует только три пары значений переменных, в которых большинство переменных принимает одно и то же значение: (1,1, 0). (1,0,1) и (0,1,1) или (0,0,1), (0,1,0) и (1, 0,0). Тогда функция, принимающая то же значение, что и большинство переменных, имеет вид /(x,y,z) = xyz v xyz v xyz. Для меньшинства переменных справедливы аналогичные рассуждения и
/(х, у, z) = xyz v xyz v xyz.
Рассмотрим первое уравнение ха / = ха у. Для его осуществления переменная z в /(х,у, z) должна быть фиктивной, т. е. х а у = xy(zvz)=xyzvxyz. Рассмотрим теперь второе условие х v z = = X v xz = ху V X v xz = (ху V xz)v х = (xy(z V z)v xz(y V y)) V X,
т. е. /(х, у, z) должна содержать следующие слагаемые:
/(х>У,г)= xyz v xyz v xyz vxyz .
1J 1.15. Заметим, что х, v х3 v... v xk = (^ v x2 v... v xk )a
А (у V Дэ (л:, A y^ v(x, Л y^ ... V (xt Л у) V (xf A Д аналогично X] A x2 A ...A xk = (x, AX2 A ... A Xk )v (у А у) = (x, V у)л (x, V у)л
л (xk v у) a (xt v у). Используя это, мы всегда можем считать, что у любых формул А и В заданные нормальные формы содержат одни и те же переменные.
СДНф(ЯуВ) получится, если взять дизъюнкции всех элементарных конъюнкций СДНФ А и СДНФ В. СКНФ(Я v б) находится по формуле СКНФ (A v В)= СДНФ (.4 v В). Для этого необходимо:
Выписать дизъюнкции элементарных конъюнкций переменных, не входящих в СДНФ(л V в);
Заменить v на а, а а на v, х- на х,, а х; на ХР Полученная формула будет СКНФ (A v В).
В СКНФ Я заменить v на л и а на v. Действительно, переменные у формулы Я(^,х2,...,хл) превратились в х|,х2,...,х,| у формулы А*, что соответствует изменению переменных при переходе от СКНФ к СДНФ. Необходимо теперь только поменять местами двойственные операции, тогда окончательно вместо А получим А = А*, эта же операция необходима при преобразовании СКНФ в СДНФ.
Например, А = х—> у, А* = у —> х (см. задачу 1.11.17).
х—> у = х v у — СКНФ. По описанной процедуре
СДНф(х—> у)* = ха у. На самом деле у х = xv у = хл у — СДНФ А*.
0* = 1, Г = 0 поскольку функция ни от каких аргументов не зависит существенно, надо поставить отрицание лишь на значение функции; х* = х = X, х = х= х, т. е, хи х самодвойственны;
(хл у)" s X Ay = xvysxvy,
(х V у)* = X V у = X А У в X А у , (х-> у)* = Л у SX V у 3 )4 ,Х, (х^- у)* = хну = ^^у)л^Гх)в ^у)л(уух)е в (yv x)a(xv у) = (у-> х)л(х-> у)в у и х;
Решим задачу двумя способами. Условия означают, что /(1,1,0)=1,
■ /(1,0,1) =1, Двойственная функция получается из исходной /(0,1,1)=1.
при замене значений всех переменных на противоположные, т. е. всюду в истинностной таблице (табл. 6.19) нужно заменить 0 на 1 и 1 на 0.
Таблица 6.19
X
У
z
Axy.z)
.X
у
z
/■ =7(x,y,z)
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
Из табл. 6.19 получаем: f^x, у, z) = xyz v xyz v xyz, Л», у,^=7^, у, z)= xyz v xyz v xyz v xyz v xyz.
Второй способ: /*(x,y,z) = /^,y,z)= xyz v xyz v xyz =
= xyz A xyz A xyz s (x v у v z)(x V у V z)(x V у V z)=
= (х v Ху V XI V xy vyy V yz V XZ V yZ V Zz)^ V у V z) =
= (х V yz v yz)(x V у V z)= XX V xyz V
V xyz v xyv yyz V yz V XZ v уц V yz =
= xyz V xyz V xy V yz v xz = xyz v
V xyz V xyz V xyz v xyz v xyz V xyz v xyz =
= xyz V xyz v xyz V xyz v xyz.
По определению самодвойственной функции, /(х[ ,x2,...,x/z ) =
-/*(х1,х2,...,х/г) = /^,х2,...,хи). В нашем случае (лу v yz v xz^ = xy v yz v xz =.
^у)л(^г)л(^г)=
= (a V уXy V zX^ V z) = (xy V у v XZ V yzX-V V z) =
= xy v xy v xz v xyz v xyz v yzv XZV yz =
= xy v xyz v yzv xz = xy V yz V XZ.
22 . Множество наборов, значения на которых определяют самодвойственную функцию, содержат 2"~1 элементов (половина всех наборов, т. к. самодвойственная функция принимает на противоположных наборах противоположные значения). Общее число функций равно числу двоичных наборов длины 2”ч,т. е. 22 (см. задачу 1.11.2).
Функция является несамодвойственной, если существует такой набор (a1,a2,...,a/J), что /(a],a2,...,a„)= /(a^,a2,.--,«„)■ Разобьем переменные Xt,x2 ,...,хи на две группы. В первую включим те переменные х,, для которых а,- = 1, в другую те, для которых а^ = 0. Отождествим между собой все переменные первой группы, переименовав их в у,, а также все переменные второй группы, переименовав их в у2.
Получим функцию от двух переменных ф(У|,У2)’ которая может оказаться и функцией от одной переменной, если (a1,a2,..-,a/z)— единичный или нулевой набор. Очевидно, что ф(1,0)=/(ai,a2,...,«„),
10 Зак 4306
<р(0,1)=/^,а2,...,а„), поэтому ф(0,1) = ф(1,0), т. к. / несамодвойственна по условию.
Может оказаться, что дальнейшее отождествление переменных с сохранением несамодвойственности невозможно.
6.3. Ответы и решения практического занятия №3
СДНФ У = xyz v xyz V xyz v xyz. Выполним в этой формуле все операции неполного склеивания и поглощения У = xz(y v y)v yz^vx)vxy(^ v^)vxyz vxyzvxyz v
v xyz = xzx/ yz v xy v xyz v xyz v xyz v xyz = xz(Y V у) V yz(l V x)\ V xy(l V Z V z) = XZ v yz v xy .
Итак, методом Квайна найдена сокращенная ДНФ. Составим теперь матрицу Квайна (табл. 6.20).
Таблица 6.20
Простые импликанты
Конституенты единицы СДНФ
xyz
xyz
xyz
xyz
xz
—
—
*
*
yz
—
*
*
—
ху
*
*
—
Тупиковая ДНФ равна xyvxz, она же будет равна минимальной ДНФ. Итак, МДНФ f = ху v xz. Составим теперь карту Карно для исходной функции. На карте выделяются три пары точек (отмечены на рис. 6.1), образующие 1-кубы. Простые импликанты имеют вид: ху , xz и yz. Сокращенная ДНФ равна ху v xz v yz. Из карты Карно видно, что пару точек (0,0,1)-( 1,0,1) и соответствующую ей простую импликанту yz можно отбросить. Тогда МДНФ = ху v xz •
Проверим теперь функцию на принадлежность к каждому из пяти классов Поста.
/(O,O,O) = 0aOvOaO = 1*O,
,f£P0; /(1,1,1) = 1 л jy 1 Л1 = 1,feP^
f(x,)>,^ = xy v xz = xy axz = (х v у)л(х v z)3 х у ух V yz *
^ f = xy v xz s f £ S; / g L, т. к. содержит произведение xz; ftM .поскольку (0,0,1)^ (о,и), а /(0,0,1)= 1 >/(0,1,1)= 0;
СДНФ/ = xyz v xyz v xyz v xyz v xyz. Тогда
/ = xy(z v z)v xy^ v z)v xz(y v y)v yz(x v x)v xyz v xyz v
v xyz V xyz V xyz S xy(l v Z V z)v
V xy(l V Z V z)v xz(l V у )v yz = xy V xy V
v xzv yz — сокращенная ДНФ. Матрица Квайпа приведена в табл. 6.21.
Таблица 6.21
Простые пмлликанты
Конституенты единицы СДНФ
хуг
xyz
xyz
xyz
x-yz
-ту
*
—
—
*
—
ху
—
*
—
—
*
XZ
—
—
*
*
—
—
—
*
—
*
Тупиковых ДНФ здесь две: xyv xyv xz и ху v ху v yz. Минимальных ДНФ тоже две, они совпадают с тупиковыми. Карта Карно для данной функции имеет вид, показанный на рис. 6.2. Имеется четыре пары точек, образующих 1-кубы: (0,0,1}-(0,1,1), (0,1,0)-(0,1,1), (1,0,0)- (1,0,1) и (0,0,1)—(1,0,1), им соответствуют следующие импликанты: xz, yz, ху и yz. Таким образом, сокращенная ДНФ равна xz vxy vxy vyz, а минимальных ДНФ две: МДНФ1 = xzvxy v ху, МДНФ2 = ху v ху v yz.
Для проверки принадлежности функции к классам Поста воспользуемся одной из минимальных дизъюнктивных форм, например, / = xz vxyv ху. /(0,0,0) = 0а0 v0 а0 v0 а0 = 0, /е Ро;
/(1,1,1)=1a1v1a1v1a1 = 0*1, /g Р,;
/^,y,z)= xz V Ху V ху = XZ л Ху А ху = ^vz)a ^ V у)а (х v у) = = (х V xz V ху v yz^A (х v у)= (х v yz^x V у)= XX v xyz V ху V
v yzy = xyz v ху * f, следовательно f £ S ;
xz v xj> v ху s xz л х)> л ху = ((х © l)z ® 1\(х ® 1)у ® 1Хх(у ® 1) ® 1)® 1= = (xz® z® 1/ху® у®1Хху® х©1)®1 =
= (xyz®xyz®xy®xyz® yz® y®xz® z® 1ХЛУ® х® 1)® 1 =
= ху ® xyz ® xyz ® ху ® xyz ® xyz ®
® ху ® ху ® xyz ® xyz ®xy®xz®xz®x®xy® xyz © yz ®
©y©xz©z@l©l = xyz © л7 © yz © х © у © z £ L; J йМ , т. к. (1,0,Ор (1,1,0), но /(1,0,0)= 1 > /(1,1,о)= 0 ;
СДНФ/= xyz v xyz v xyz v луг v xyz .
/ = xy(z v z)v xz(y v у)v yz(x v x)v xy(z v z)v xyz v v ху г v xyz v xyz v хуг =
= ху (1 v г v z)v xz(l v y)v yz(l v x)v xy(l v z)=
= ху v xz v yz v xy — сокращенная ДНФ.
Таблица 6.22
Простые импликанты
Конституеиты единицы СДНФ
луг
луг
луг
хуг
хуг
ху
—
*
—
*
—
Л7
—
—
—
*
*
Уг
—
—
*
—
*
Ху
*
—
*
—
—
Тупиковых ДНФ две: .ryv^zvAy, Ayvyzvxy (табл. 6.22); минимальных ДНФ также две: МДНФ| = ху v yz v ху и МДНФ2 = ху v XZ. v ху . Карта Карно для исходной функции трех переменных приведена на рис. 6.3.
Рис. 6.3
Четыре пары точек образуют четыре 1-куба: (0Д0)-(0Д1Х (hLOHMJ), (UJHW) и (0Д1Н1Д1). Сокращенная ДНФ из карты Карно равна ху v xz v yz v ху , МДНФ] = ху v ху v xz, МДНФ2 = ху v ху \/ yz . Возьмем вторую минимальную дизъюнктивную форму и проверим, к какому классу Поста принадлежит наша функция. /(0,0,0) = 0a0v0a0v0a0 = 1, /£Р0; /(1,110) = 1л1у1л1у1л1 = 1, /е/>;
/(x,y,z)=xyvxyvyz =
= ху Л ху Л ух ЕЕ (х V у\х V у^ V z) =
= (хх V Ху V Ху V уу)^ V z) =
= ху V ху у v xyz v xyz = ху(1 V z)v xyz = ху V xyz * /,
/8 $; f£L, т. к. содержит произведение ху; /g М, поскольку (0,0,0)-: (1,0,0), а /(0,0,0)=1>/(1,0,0)=0;
СДНФ/ = xyzvxyzvxyzvxyz.
/ = xz(y v y)v yz^ v x)v xy(z V z)v xyz V xyZ v xyz v xyz 3 s xz(l v у v y)v yz(l v x)v xy(l v z)= xz v yz v xy — сокращенная ДНФ. Тупиковая ДНФ одна xz v ху, она же равна минимальной, т. е. МДНФ = xz v ху (табл. 6.23). Составим теперь карту Карно. Простые импликанты для этой карты Карно равны: ху , yz и xz, минимальная ДНФ получается по двум парам точек: (0,1,0)^0,1,1) и (1,1,1Н1,0,1) (рисб.4), MflH® = xzvxy. /(0,0,0)=0a0v0a0=0, /е Ро;
Таблица 6.23
Простые имллнкаиты
Конституенты единицы СДНФ
xyz
xyz
xyz
xyz
XZ
—
—
*
*
yz
*
—
—
*
ху
*
*
—
—
Рис. 6.4
/(1,1,1) = 1 л1 vIaI = 1, fe Pt; f^x,y,z^ = xzv xy = xz л xy =
= (xv z^xv y)= xxv xz v xy v yz f, f^S-t feL, t.k. содержит хг. Составим таблицу истинности для МДНФ (табл. 6.24). Из нее видно, что для всех сравнимых наборов переменных выполняется условие а -< р —> /‘(а)< /(р). Следовательно, / Е М ;
Таблица 6.24
X
у
г
XZ
XX
МДНФ
1
1
1
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
СДНФ / = xyz v xyz v xyz .
/ = yx(z v z)v xyz v xyz v xyz =
yx(l v z v z)v xyz = yx v xyz — сокращенная ДНФ. Матрица Квайна для этой функции очень проста и приведена ниже. Карта Карно изображена на рис. 6.5. Одна точка на этой карге Карно принадлежит 0-кубу, это точка (0,1,1). Еще пара точек (1,ОДИ 1,0,1)
образует ]-куб. Простые импликанты равны хуг, ху. Тупиковая ДНФ равна хут.^ ху, она же равна единственной минимальной дизъюнктивной нормальной форме (табл. 6.25).
Таблица 6.25
Простые импликанты
Коиституенты единицы СДНФ
хуг
хуг
хуг
^
-
*
*
хуг
*
-
Рис. 6.5
/(0,0,0)= 0aOvOaO аО = 0 , f е Рй;
/(1,1,1)=1a1v1a1a1 = 0, f £ Pq;
f^, у, z)= xy v xyz = xy А xyz = (x v у)л (x v у v z)=
XX v xy v xy v у у v xz v yz = xy v xy v xz v yz * f, f t S ;
xy v xyz = xy л xyz = (x(y © 1)© 1)- ((x © l)yz © 1)© 1 =
= (xy © X© 1)■ (xyz © yz © 1)© 1 =
xyz © xyz © xyz © xyz © xyz ©yz©xy©x©l©l =
xyz® yz® xy® x£ L;
/£М,т.к. (0,1,1)^ (1,1,1), но /(0,l,l)=l> /(l,l,l) = 0.
Так как x®y = x<^ у = (x a y)v (x a y),
TO x©y = x<->y = (xA y)v ^'A y)= xy v xy — СДНФ;
х ® у = (х л у)v (х л у)= (х v (х л у))л (^ v (х л у)) =
= ((х V х)л (х V у))л ((у V х)л (у V у))= (х V у^ v у) — СКИФ.
По определению двойственной функции
(х® у)* = (х® у) = ((х© 1)® (у® 1))© 1 = X® у ® 1 ; то же самое можно получить другим способом: (х©у) =^хлур^хлу^ = ^лу)л (хлу) = ((х © 1)у ® 1/х(у ® 1)© 1) =
(ху © у ® ^Х^У ® х © 0 =
ху © ху © ху © ху ® ху © х© ху © у © 1 = х© у © 1, т, к. операция сложения по модулю два обладает следующими свойствами: х©х = 0, х©1 = х, х@0 = х, х©х=1.
Конъюнкция: ху = х-у; дизъюнкция:xv у = х л у =
= (х©1Ху©1)©1 = ху©х©у; отрицание: х=х©1; импликация: х^ у = xv у = ха у = хл у = х(у© 1)© 1 = ху© х© 1; эквиваленция:
хнув(х-> у)л (у х)= (xv у)л (у V x)s хл у л у л х =
= хлулулх = (х(у © 1)© 1Ху(х© 1)© 1) =
= (ху ® X © 1Хху © у © 1) =
= ху ® ху © ху © ху © ху © у © ху © х © 1 = х © у © 1;
xvy VZ = XAyAZ = (x@lXy©lXz@l)@l =
= (ху ® у ® X © 1Х? © 1)® 1 =
= xyz ©yz@xz@z©xy©y©x©l@l =
= xyz ®xy®xz®yz®x®y®z;
ху V yz V XZ = ху Л yz Л XZ = (ху © iXyZ ® 1X'XZ ® 0® 1 =
= (xyz © yz ® ху ® iXxZ © -1)® 1 =
= xyz © хуг © xyz ® xz® xyz ® yz®
® ху®1®1 = xy®xz® yz ;
xyz v xyz v xyzv xyz = z(xy v xy)v z(xy v xy),
xy v xy = xy A xy =(x(y®i)©iX(x®i)y®i)®i=(xySxsi)-
(xy Ф у Ф1)® 1 = x Ф у;
xy V xy = xy A xy = ((xy Ф lX(x ® 1Ху ® 1)® 1)®
© 1) = (xy Ф 1Хху Ф у © x) Ф 1 =
= хуФхуФхуФуФхуФхФ1 = хФуФ1 = хФу;
xyz v xyz v xyz v xyz = z(x Ф y) V zx Ф у = z(x® у)л z(x © y) = = (xz Ф yz Ф lX(z Ф 1Хх Ф у ®1)ф 1)ф 1 =
= (xz Ф yz Ф iXxz Ф xФ yz Ф у ®z)® 1 = xФ у Ф z Ф1.
Пусть х, —такая переменная. Сгруппируем члены, в которые входит х,, и вынесем х,. Получим /(х, ,л2,...,х„)-Х|ф(л2,...,х„)+\|/(х2,.--,т„ ). Это разложение можно рассматривать как полином Жегалкина по переменной х, с коэффициентами, зависящими от остальных переменных. В разложении ф^О, т. к. в противном случае в силу единственности полинома Жегалкина х, не входила бы в полином для /. Возьмем значения переменных х2,х3,...,хи, на которых ф = 1. Тогда значение / будет зависеть от значения х^ т. е. х, — существенная переменная.
Функция /(xj, х2 ,...,х„) называется линейной, если она представима полиномом Жегалкина не выше первой степени, т. е. если существуют такие константы а( е {0,1}, i = 0,и, что /(^,х2,...,х,) = а1) Фа,^ Ф.,.фа,х„.
f = X -» у Ф ху = хФ у Ф (х© 1)у =
= хФу@хуФу = хуФхй L;
/ = ху v ху v z = ху лху л z = (ху © 1Х(х© 1)(у © 1)© 1)- • (z ©1)© 1 = (ху © 1/z ©1) (ху© у Ф х)©1 = xz© yz© X© у© I . Очевидно, что f^L. Подобный метод представления функции полиномом Жегалкина называется методом, базирующимся на преобразовании формул над множеством связок {а, }.
Восстановим теперь полином, представляющий данную функцию, методом неопределенных коэффициентов.
/ = xyv ху v z = aQ © я(х© a2y © a3z® a4xy®a5xz® a^yz^a^xyz. /(ОДО) = 1 = я0 © Я| - 0 © я2 ■ 0 © а3 ■ 0 © я4 • 0 © а5 ■ 0 © я6 ■ 0 © я7 ■ 0, /(0,0,1) = 1 = я0 © Я] * 0 © я2 ■ 0 © я3 ■ 1 © я4 ■ 0 © я5 ■ 0 © яб ■ 0 © я7 • 0, /(0,1,0) = 0 = я0 © Я] • 0 © я2 • 1 © я3 ■ 0 © я4 • 0 © я5 ■ 0 © я6 ■ 0 © я7 ■ 0, /(0,1,1) = 1 = я0 © Я] • 0 © я2 • 1 © а3 ■ 1 © а4 • 0© я5 - 0© ав ■ 1 © я7 ■ 0, /(1,0,0) = 0 = я0 © я, ■ 1 © а2 ■ 0 © а3 ■ 0 © я4 ■ 0 © а5 ■ 0 © а6 ■ 0 © я7 ■ 0, /(1,0,1) = 1 = «0 © Я] • 1 © я2 ■ 0 © я3 ■ 1 © я4 • 0 © я5 ■ 1 © я6 • 0 © я7 ■ 0, /(1,1,0) = 1 = я0 © Я[ ■ 1 © я2 ■ 1 © я3 • 0 © я4 ■ 1 © я5 • 0 © я6 ■ 0 © я7 ■ 0, /(1,1,1) = 1 = Яо © Я] ■ 1 © я2 1 © я3 -1 © я4 ■ 1 © я5 ■ 1 © я6 ■ 1 © я7 ■ 1.
Подобная система всегда имеет решение, причем все я. е {0,1}, i = 0,н . Здесь я0 = я, = я2 = я5 = я6 = 1, я3 = я4 = я7 = О;
/ = ху(х <-} у) = х(у © 1Х* © у © 1)= (ху © 1Хх © у © 1) =
= xy©xy©xy©x©xy©x = 0cj5;
/ = (х vyz)©xyz = хаyz©xyz =
= ((x © iXyz © 1)© 1)© (x © l)yz = = (xyz ® yz)© (xyz © yz © x © 1 © 1) = = xyz © yz ® x © xyz © yz = x e L.
Так как /(х],х2,...,х„) = я0 ©я,х, ©...©я^х,,, то множество всех линейных функций равно числу различных наборов вида (я0,Я),...,ям). Поскольку Vfя- е {0,1}, то число наборов равно 2"+1.
Выясним, при каком составе существенных переменных /(х^ ,х2,...,хн ) = 1. Рассмотрим в качестве примера функцию двух переменных. Она линейна, т. е. /(х,у) = а0 ®avx®a2y. Тогда Л =0, /2=1, /3=1©х, /4=1®Л /5=1©х©у,
/6 = х©у, /7 = х, /8 = у. Только /2 и /5 удовлетворяют условию задачи. У /2 все переменные фиктивны и а0 = 1, у /5 число существенных переменных четно и а0 = 1. Та же картина наблюдается для функции трех переменных /(х,y>zY / = о, /=i, /=х, Л = 1 ® X, /5 = у, /^ = 1 ® у, /7 = X® у, Д = 1 ® X® у, Д=2, /0 = 1© Z, = X© Z, /2 = 1© х© Z,
/3 =y©z, /4 =l©y©z, /5=x©y©z, /6=l©x@y©z. Число всех линейных функций и переменных, у которых д0 = 1 и все переменные фиктивны или с a0 = 1 и с четным числом существенных переменных, равно 2яЧ.
Функция /(х^,х2,...,х„) сохраняет константу 0 (константу 1), если /(0,0,...,0)= 0 (соответственно /(1,1,...Д) = 1).
/ = (^ ^х,Хх2 ^х3Хх3
/(о,о,...,о)=(о -> оХо —> оХо —> 0)=1,
/(1,1,...Д) = (1 —»1X1 —> 1X1 —> 1) = 1 ■ Таким образом, /е ^ \ ^;
/ — функция от трех переменных и может содержать суперпозиции всех логических связок. Рассмотрим, например,
/ = v х, —> хэ,тогда Д(0,0,0) = 0v0—>0 = 1 и Ух (1,1,1) = 1 v 1 —> 1 = 1. Однако /2 = (х’ —> х2 )л х3 дает /2(0,0,0) = (00)л 0 = 0 и /2(1,1,1) = (11)л 1 = 1.
Следовательно, произвольная У g 7] \ Ро;
У- ^х2х3 v Х|Х2 v х2 : /(0,0,0) = 0-00 v 1-0v 1 = 1, /(1,1,1) = 1 -1-1 v01 v0 = 1,t. е. Уе ДХР,;
У = (х, v x2)v) v х,х2 v х2: /(0,0,0) = (0 v 1)-1 v 1 0 v 1 = 1, /(1,1,1) = (1v0)-0v0-1v0 = 0, /g Рх\Ра.
,f = xyv xz.v z = xyv з . Эта функция равна нулю на наборах (0,0,0), (ОД,0), (1,0,0). Все оставшиеся наборы, исключая (0,0,1), содержат не менее двух единиц, а значит, либо не сравнимы с (0,0,0), (ОД,0), (1,0,0), либо могут быть только больше. Ддя наборов (0,0,0) -< (0,0,1) набор (0,0,1) не сравним с (ОД,0) и с (1,0,0), но /(0,0,0) = 0 < /(0,0,1) = 1. Следовательно, рассматриваемая функция монотонна;
f = х—> ^х —) уУ Всего четыре набора переменных. Сравним (0,0)(1,0), но /(0,0)-1> /(1,0) = 0. Функция немонотонна;
/ =.yv рн xv у. (0,0)(1,0), /(0,0) = 1 > /(1,0) = 0. Функция немонотонна;
/ = х v у <-э х- у = ху <-э ху = 1 для всех наборов, следовательно, функция монотонна;
/ = xyv XV XZ = а(у v l)v XZ = xv XZ = XV z, у — фиктивная переменная; функция av z монотонна, т. к. она равна 0 лишь на наборе (0,0), который предшествует всем остальным наборам.
Вопрос о числе монотонных функций от п переменных оказывается очень трудным. Окончательно он не решен до сих пор; это число сосчитано лишь для конкретных небольших п. Монотонная f^x, у) (не константа) равна 0 на нулевом наборе и 1 на единичном. Два других набора (0,1) и (1,0) следуют за нулевым, предшествуют единичному, а между собой не сравнимы. Поэтому на них можно задавать любые значения функции, не нарушая монотонности. Всего задать эти значения можно четырьмя способами, так что можно задать четыре монотонные функции от двух переменных, не являющихся константами: х, у, ху и xv у.
Нельзя, т. к. J е Р^, а х£ Ро;
Можно, /(л,0,1,0)=-c-l lv0 (x l->l) = x;
Можно, Дх,г,2,х)= xzzv zlxz-^ zV ztxzv xv zv 7)= z .
1.18.12.
2) См. разд. 1 Л4\
Пусть {/■|,/2}={ .л}, fej={w у} Тогда х= xv х = х, т. е. Л =Ф|(81). xvy = x,vy, т. е. /2=Ф2(^1)* Таким образом, система {х v у} полна;
См. разд. 1.14;
Пусть {/1,/2}={ >л}—полная система, a fei ,g2}“ l-^О}- Тогда fx = х = х vO = х —> 0 = ^(gMg2), /2 = ^vy = х->у =(p2(gi,g2),T.e. {->,0}полна.
Решим эту же задачу с помощью теоремы Поста. При заполнении таблицы Поста (табл. 6,26) следует помнить некоторые свойства функций из классов Р0,^,5,Ьи М. Случаи Рй и Рх тривиальны. Среди линейных функций монотонны лишь 0, 1 и х; самодвойственны функции с нечетным числом переменных; сохраняют нуль функции, у которых свободный член— нуль; сохраняют единицу функции от четного числа переменных, если их свободный член — нуль, и функции от нечетного числа переменных, если их свободный член единица.
Таблица 6.26
р.
р.
S
L
м
*У
+
+
-
-
+
X
-
-
+
+
-
xvy
+
-
-
+
X
-
-
+
+
-
xvy
-
-
-
-
-
х^у
+
-
-
+
-
XV V
+
+
-
-
+
1
-
+
-
+
+
Х^у
-
+
-
-
-
0
+
-
-
+
+
Система функций G в классе К называется его базисом, если она полна в К, а всякая ее собственная подсистема не полна. Система функций {ху, х] полна в Р2. Она состоит из двух подсистем: функций ху и х. ху — монотонная функция (см. таблицу Поста предыдущей задачи), х — линейная и самодвойственная функция. Таким образом, системы {ху} и {х} неполны, т. к. эти функции и представляемые ими системы целиком содержатся в каком-то из пяти классов Ро, PX,S, L и М. Следовательно, {ху х}— базис в Р2;
3) Рассуждения аналогичны п. 1;
Система {х© у, xvy, 1} имеет шесть подсистем: {х©у}, {xvy}, {1}, {х© у, xvy}, {х© у, 1}, {xvy, 1}. Все они неполны (см. таблицу Поста), т. е. целиком содержатся в каком-то из пяти классов;
Рассуждения аналогичны п. 1.
Из всякой полной системы можно выбрать не более пяти функций, удовлетворяющих теореме Поста. Следовательно, базис не может содержать более пяти функций;
зВозьмем функцию, не сохраняющую нуль. Эта функция илн монотонна, и тогда она тождественно равна единице, или немонотонна. Если / = 1, то это несамодвойственная функция. Итак, / g Ро и / = 1 => / g 5 или /£ Ро и /£ М . Таким образом, в полной системе обязательно найдется функция, не принадлежащая сразу двум предполным классам. Тогда к этой функции можно присоединить не более трех функций из рассматриваемой системы функций так, чтобы удовлетворялись условия теоремы Поста. Следовательно, в базисе не может быть более четырех функций.
Составим таблицу Поста для этой системы функций (табл. 6.27).
Таблица 6.27
Функция
р»
р.
S
L
М
0
+
-
-
+
+
X® у
+
-
-
+
-
Х-^у
-
+
-
-
-
ху«-> XZ
-
+
-
-
-
Первые три функции из системы G уже встречались ранее (см. задачу 1.18.12). Рассмотрим f4 = ху^ xz. А (0,0,0) = 0 « 0 = 1, т. е. /4 g Ро, А (1,1,1) = 1, А е Рх. Упро- стим /4 = ху<-> xz= xv yzv yz. Двойственная к ней
/4* = xv yzv yz = xz, т. е. /4gS. Далее f4 = xvyzvyz = = х a yz a yz = x(yz © 1Х(у © 1/z © 0© 0® 1 = xz © yz © 1, т. е. / g L. Функция равна нулю на двух наборах: (1,0,1) и (1,1,0), на всех остальных Лв^- Тогда (ОДО) (1,0,1), но /(0,0,0) = 1 > /(1,0,1)= 0 . Таким образом, /4 5 М.
По заполненной таблице составим КНФ системы G , в которой элементарные дизъюнкции соответствуют столбцам таблицы и включают в качестве слагаемых символы тех функций, которые не входят в класс, соответствующий столбцу. В данном случае КНФ(7 = =(А v АХ/, v AV, v А v А vAXA V аХ/2 v А V А).
Упростим эту КНФ и преобразуем ее в ДНФ. КНФС =
= (/1Уз V/l/4 V AA V AAX/i V/2 V/3 V АХАЛ V AA V
v A v AA vA)=(/iA v/A v ал v ААХ/з v A)=
= ЛА v AA v/A vAA = ДНФС.
Из полученной ДНФС выпишем подмножества функций, соответствующие слагаемым ДНФ. Это и будут искомые базисы G. В нашем случае имеются четыре базиса: Д = {О, х—) у}, Б2 = (х© у,х —> у}, Б3 = {О, ху<-^ xz}, Б4 = {х© у,ху <-^ xz};
Т) G = V^Jz^'ti- Iх® У>ХУ ® Z, х ® у ® Z ® 1, .vy © yz © xz}. Аналогичные действия дают следующие результаты (табл. 6.28).
Таблица 6.28
Функция
р«
5
L
М
/,
+
-
+
-
Л
+
-
-
/з
-
-
+
+
Л
+
+
-
+
н-
КНФС = /3 (a v /2 v /3 Х/2 V Л ХА V Л ХА V Л V /3) = /2/3 V v АУз/| = ДНФС. Таким образом:
Б, = {ху ф ?, х Ф у Ф z © 1}.
Б2 = {х Ф у, х Ф у Ф z Ф1, ху Ф yz ® xz}.
. G = {/l,/2,/3,/4,/5}={xyvxz,x-,x^y,0,x©zy} Таблица Поста приведена в табл. 6.29.
Таблица 6.29
Функция
А,
5
L
М
f,
+
+
/2
-
-
+
+
-
h
-
+
-
-
Л
+
-
-
+
/5
+
-
-
-
-
КНФС = (/2 v /зХ/2 V /4 V /,ХА V /3 v /4 v /5ХА V /3 V /5)- ■(/,v/2v/3v/5) =
= М v АЛ у л A v ЛА v ЛА = ДНФ G.
Б, = {ху v xz, х},
Б2 = {х,х-> у} Б3 = ^,x®zy], Б4 ={х->у,О},
Б5 = {х —> у, х ® zyY
1.18.16.1.18.16.v=xЭх, 2д2/д(х,,х2)v=xЭх, 2д2/д(х,,х2)д/дх2д/дх2д/ Эх,д/ Эх,= х, vx,x2 vyx2, dx,dx3= х, vx,x2 vyx2, dx,dx3_ - д2/ _ ’■•ЧЛ» 5 5 -ЧЭх,Эх2 д2/ -_ - д2/ _ ’■•ЧЛ» 5 5 -ЧЭх,Эх2 д2/ -
1.18.16.
1.18.16.
v=x
Эх, 2д2/д(х,,х2)
v=x
Эх, 2д2/д(х,,х2)
д/дх2
д/дх2
д/ Эх,
д/ Эх,
= х, vx,x2 vyx2, dx,dx3
= х, vx,x2 vyx2, dx,dx3
_ - д2/ _ ’■•ЧЛ» 5 5 -Ч
Эх,Эх2 д2/ -
_ - д2/ _ ’■•ЧЛ» 5 5 -Ч
Эх,Эх2 д2/ -
д2/- д2/^—^x1x3vx1vx1x2x3, — = ^,д(х2,х3)д3/V"\ ^X^V^XjV ^^^ V ^^^З УЛ1 ^Z-b V ^-^Z^-^vt > ^2) ^3 7д2/- д2/^—^x1x3vx1vx1x2x3, — = ^,д(х2,х3)д3/V"\ ^X^V^XjV ^^^ V ^^^З УЛ1 ^Z-b V ^-^Z^-^vt > ^2) ^3 7
д2/- д2/
^—^x1x3vx1vx1x2x3, — = ^,
д(х2,х3)
д3/
V"\ ^X^V^XjV ^^^ V ^^^З УЛ1 ^Z-b V ^-^Z^-
^vt > ^2) ^3 7
д2/- д2/
^—^x1x3vx1vx1x2x3, — = ^,
д(х2,х3)
д3/
V"\ ^X^V^XjV ^^^ V ^^^З УЛ1 ^Z-b V ^-^Z^-
^vt > ^2) ^3 7
1.18.17.1.18.17.
1.18.17.
1.18.17.
f\x,y,z) = xv у-> z = xyv z, — = yz, -^- = xz, ox dy
д/Э2/ - d2/ - d2/ - d3/.
dzЭхйу dxdz dydz dxdydz
Тогда /(x,y,x) = l®l-x®l-y®O-z®l-xy®l-xz®l-yz®
© 1 • xyz = l®x®y®xy®xz®yz® xyz ;
/(x,y)= xv у ->(x<-> y)= xyv xy, ^ = 1, v- = l, ox oy
32 г.
-= 0, /(х, у) = 1 ® 1 ■ х ® 1 • у ® 0 ■ ху = 1 ® х ® у ;
д»3у
f(x,y,z)=(x^ zXy^z^ (x^ y)= XV у V z. ^= yz, Vд/- Э2/д2/- д2/d3/,
dydz дхдуdxdz dydzdxdydz
f^x, у, z) = 1 ф 0 ■ х ® О • у © О ■ z ® О • ху Ф1 ■ xz ® Ф 0 ■ yz Ф1 ■ xyz = 1 Ф XZ Ф xyz.
1.18.18.
Рассмотрим два случая: х = 1< — \ и х * к -1. В первом случае X = О и (— х) = (— 0) = О по определению. Правая часть формулы х = /с-1-х=/с-1-/<+1 = 0. Таким образом, равенство выполняется. Во втором случае левая часть равна — 0= к-х = к — (х+ l)modfc = к-X- 1. По определению х = к -1 - х, следовательно к -1 - х = к -1 - х;
Пусть х = к -1, тогда х = 0, ~х = к -1 - х = к -1 - к +1 = 0. ~(х + у) = у, (~х) + ( у) = 0 + (~у) =~у. Пусть теперь х* к-\ х = х+1, -$+ у)=~(х + 1 + у) = /с -1 - х-1 - у = к-2- х- у, ~х=/с-1-х, ~у = к-1-у, (~х)+ (~у) = к-\ - х+ к-1 - у = к- 2- х-у;
Рассмотрим три случая. Пусть сначала х = к — 1. Тогда по определению элементарных операций х=0, min(x,у)=0, min(x, у) = min(£ -1, у) = у, у = у +1, у + х = 0,
(О) = к -1, jk.x (х) = ./,.._, (к -1) = 1, min(x,y)+J0(y + х)- jk_x (х)- у = = y + l + t- l- y = A: = O. min(x,у)= min(0,у) = 0. Пусть теперь х * к -1, но х > у. Тогда min(x, у) = у, min(x,y)= у + 1, y + x=0, J„(y+х)= к-1, у,,_,(х)=0; у + 1 + /с—1 -0 ■ у = к* у = у, min(x,у)= min(x+ 1,у)= у ■ Наконец, пусть х ^ к -1, но х< у. Тогда аналогично min(x,у) = a-, mln(xy) = х +1, х = х+ 1, у^г у- х, J^y-x^O, Л-|(Л")=°; х+1 + 0-0 у = х+1, min(x, у)= х+1.
Таблица истинности этой операции очень короткая (табл. 6.30).
Разложение по формуле (1.16.9) или (1.16.10) имеет следующий вид:/(х)= Mo)aJ,(x))v (/(1)а J^v (/(2)а У2(х)) =
= (1 л J0(x))v (2 л J^v (Ол J2(x))= J„(x)v XJ^xY
Если воспользоваться другим обозначением для операций конъюнкции и дизъюнкции, то получим /(х) = max{min(l, Jo (х)), min(2, Jx (х)), (О, J^ (х))}=
= max{min(l, Jo (х)), Jx (х)},т. к. min(2, Jx (х)) = Jx (х),
a min(0, J2 (х)) = 0 .
Аналогично, вторая форма разложения имеет вид
/М= О (°)- УоМ+ fkvY Ji W+ Л2)' 72^))mod3 =
=G'oW+2>iM)mod3;
. /(x) = (3 Л J^V (2 A J, (x)) V (1Л Л (x))v (0 A J, (x)) =
= 3J0(x)v2-J,(x)v J2(x)=
= max{y(l(x), min(2, J^x)), min(l,y2(x))}.
fM = (3' УоМ+ 2' У1М+1" Л W+ ° • y3(^))mod4 =
= (3' Уо^)* 2‘7i(x)+ ЛМ)1110^^- Таблица истинности этой функции приведена в табл. 6.31,
/ = х* у2 = хч- у • у. Таблица истинности приведена в табл. 6.32.
Таблица 6.32
X
У
УУ
f = х»уу
0
0
0
0
0
1
1
0
0
2
1
0
Таблица 6.32 (окончание)
X
У
у-у
f=x*y.y
1
0
0
1
1
1
1
0
1
2
I
0
2
0
0
2
2
1
1
1
2
2
1
1
f(x, у) = (1 л J, (,v)a JQ^v (2 л /2(x)aJ,W)v
v (1 л У 2 к) л V/v)) v (I л У 2(л-)л У2 (у)) = max{min(l, J, (х\ J6(у)), min(j2(х), Jo(у)) min(l, /2(л),./, (у)), min(l, J2 (Д ]г(у))}, ДхУМКкхХ jMy2vhkxY iM* hkx\ ^^
Таблица 6.33
х
х-х
0
0
0
1
1
0
2
4
2
3
4
I
4
1
0
Сначала представим функцию /(х) = х2 + х (при к = 5) во второй форме. Таблица истинности / (-г) приведена в табл. 6.33.
/6)=/(0)-7оМ+ /(О-7, М+/(2)- ЛМ+ /(3). УзМ+
+ ,/ (4)' ^Ах^ = 0' .#АУ) + 0'71(-¥)+ 2 ■ у2(^)+1 ■ 7з(Л)+ 0' л('¥) =
= 2'72(л:)+Уз(х).
Составим таблицу истинности (табл. 6.34) нескольких вспомогательных функций, из которой можно получить несколько соот-
ношений: у0 (х) = 1 - х*4, 7/(х) = j0(x-i\ i = 1,2,...Л-1 (последнее соотношение очевидно по определению).
Таблица 6.34
i
X
X-i
лЫ
v-'
1-V-'
Ц*-0
0
0
0
i
0
1
i
1
0
0
0
0
1
0
2
0
0
0
0
1
0
3
0
0
0
0
1
0
4
0
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
0
0
2
1
0
0
1
0
0
3
1
0
0
1
0
0
4
1
0
0
1
0
0
0
2
2
0
1
0
0
1
2
1
0
1
0
1
2
2
0
1
1
0
0
3
2
0
0
1
0
0
4
2
0
0
1
0
0
0
3
3
0
1
0
0
1
3
2
0
1
0
0
2
3
1
0
1
0
0
3
3
0
1
1
0
0
4
3
0
0
1
0
0
0
4
4
0
1
0
0
1
4
3
0
1
0
0
2
4
2
0
1
0
1
3
4
1
0
1
0
0
4
4
0
1
1
0
0
Тогда /2(х) = у0(х-2)=1-(х-2У“' = 1-(х-2)4 = = 1 - (х4 + 2х3 - х2 - 2х +1) = - х4 - 2х3 + х2 + 2х, /з(х) = /0(х - 3) = 1 - (х - З)4 = 1 - (х4 — 2х3 - х2 + 2х +1)= = -х4 + 2х3 + х2 - 2х, /(х) = 2 • у2 (л*)+ Уз И = 2х4 - 2х3 — 2х2 + 2х. Все умножения и сложения производятся по модулю пять.
Применим к этой же задаче более понятный здесь метод неопределенных коэффициентов: /(х) = д0 *axx*a2x2 + a3x2 + a4x4. Более высоких показателей степени не будег, ибо х4+' = У mod5. Составим систему уравнений: а„=/(0)=0, а0 + а, + аг + а, + а4 = /(1) = 0, а0 + 2а, + 4а2 + Заэ + а4 = /(2) = 2, а0 + За, + 4а2 + 2а3 + а4 = /(з) = 1, а0 + 4а, + а2 + 4а3 + а4 = /(4) = 0 .
Из решения системы находим а0 =0, а, =2, а2 =3, а3 =3, а4 = 2, т. е.
/(х) = 2.x + Зх2 + 3.? + 2х4 = 2х4 - 2? - 2х2 + 1х;
J^ = тах(2х-ь у, х- у), к = 3. В табл. 6.35 приведена таблица истинности /(х, у).
Таблица 6.35
X
2'Х
у
х-у
2х»у
Ах,у^
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
1
2
0
0
2
1
2
1
1
1
1
I
2
2
2
0
2
2
1
0
0
1
1
2
1
1
2
0
2
2
1
2
1
0
1
Найдем сначала полином методом неопределенных коэффициентов. Здесь ?+' = х1 mod3, т. е. в разложении у х и у не будет степеней выше второй. Сам многочлен будет иметь вид
Дх,у) = а0 + а{х+ а2у + а3ху+ а4х2 + а5у2 + а6ху2 + а2у^ *а&х2у2.
Составим систему уравнений для его коэффициентов:
/(О,О) = О = ао,
/(0,1) = 0 = а2 + а5,
/(0,2)= 0 = 2а2+а5,
/(1,0)=2 = а, + а4,
/(1,1) = 1 = а, + аг + а, + а4 + а5 + а6 + а, + а8,
/(1,2)= 2 = а, + 2а2 + 2а3 + а4 + а5 + а6 + 2а, + а8,
/(2,0)= 1 = 2а,+а4,
/(2,1) = 2 = 2а, + а2 + 2а, + а4 + а5 + 2аб + а, + а8, /(2,2) = 1 = 2а, + 2а2 + а3 + а4 + а5 + 2а6 + 2а, + а8.
Система легко решается методом исключения: ао=О, а, =2, а2 =0, а3 = 1, а4 = а5 = 0, а6 = 1, а, = а8 = 0. Таким образом, /(х, у) = 2х+ ху + ху2.
Представим теперь функцию /(х, у) в первой и второй форме:
Жу^ (2 л /(х)л J„(y))v (1 л /(х)л /(y))v (2 л /(х)л /(y))v v (1 л Л (х)л / (у))v (2 л / (х) л / (у)) v (1 л / (х) л J2 (у)) = 2 ■ у, (х) ■ ■ Л G) +1 ■ / (х^) • / (у) + 2 • / (х) • /2 (у) + 1 ■ у2 (х) • у0 (у )+ 2 • у, (х) ■ / (у )+ + 1'У2(х)'У2(у)- Воспользуемся полученными в предыдущем примере соотношениями л(х) = 1~х1 ' и у',(х)= у'о(х—/), / = l,2,...,fc~l. Тогда Z(x)=/o(x-l) = l-(x-l)2 =1-х2 +2х-1 = -х2 + 2х,У„(у)=1->’2,
j^y^-y1 +2у, у"2(у)= у0(у-2)=1-(у-2)2 =1-у2+у-1 = -у2+у, у2(х)=-х2 +х.
Наконец, получим выражение для самой функции:
/(х,у) = (- х2 + 2x^2 -2у2)+ (-.г2 + 2х^ у" + 2у)+ (- 2х2 + х\ ■ (- у2 + у)+ (- х2 + х)(1 - у2)+ (- 2х2 + 2х)(- у2 + 2у)+ (- х2 + х)- ’ (~ Г + У) = -2х2 + х + 2х2у2 - ху2 + х2у2 - 2ху2 - 2ух2 + ху + + 2х2у2 -ху2 - 2ух2 + ху-х2 + х + хгу2 -ху2 + 2хгу2 - 2ху2 -х2у + + ху + х2у2 ~ ху2 — ух2 + ху = 2х - 2ху2 + ху = 2х + ху + ху2.
Ответы и решения практического занятия №4
1.21.1.
х = <р2(х,х), т. к. xjy=xy, элемент <р2 Уже реализует xjx=xx=x. Задержка равна единице. На рис. 6.6 изображена
схема для х. Мы ранее предполагали, что все функциональные элементы, из которых строятся схемы, являются однотактными. Следовательно, сигнал на выходе схемы, равный х (рис. 6.6), появится через один такт после появления сигнала х на обоих входах функционального элемента Ф2»
Рис. 6.9Рис. 6.9
Рис. 6.9
Рис. 6.9
ху = (ДхЗГ), т. к. х^ = xj = л]у. Задержка равна двум тактам. На входах нижнего элемента (рис. 6.7) — сигналы х и у, на выходе ху= х| у. На входах верхнего элемента х|у и ^у, на выхо- де Йу]Ду)= (ф7л[у)= хуху = ху = ху = <р2(х,у);
х v у = х v у = ху = х^ХУнг Задержка равна двум тактам. На входах нижних элементов х и у (рис. 6.8), на выходах х и у ; на выходе верхнего элемента х V у = л|у = ф2 (х, у);
1 = 0 = хх = х|х = ф2(х,х). На входе схемы х. х = Фг^-х)» т. е. на выходе нижнего элемента ф2 через такт, т. к. все элементы одно- тактовые, вырабатывается х. Следовательно, левый сигнал на верхний элемент ф2 должен подаваться с задержкой в один такт, ф] — элемент, реализующий задержку х на один такт (рис. 6.9). На выходе верхнего элемента ф2 сигнал равен ^х=хх=0 = 1. Задержка схемы равна двум тактам;
смотрите предыдущий пункт. Общая задержка схемы равна трем тактам (рис. 6.10);
x©y = xyvxy = xvyvxvy = xvyvxvy =
= Qy)v (х|у)= V у)|(х V у)= <рг £ V у,X V у)=
Фг (ф2 (х* )0*Ф2 (х, у))- Задержка схемы равна трем тактам (рис.6.11). На рис. 6.11 знаками п(хуу)и —i(xv у) обозначены и (х vy).
Рис. 6.10Рис. 6.10Рнс. 6.11Рнс. 6.11
Рис. 6.10
Рис. 6.10
Рнс. 6.11
Рнс. 6.11
Перечислим все простые цепи схем, изображенных на рис. 1.19, и определим по ним дизъюнкцию по формуле (1.19.1). После упрощения полученных выражений найдем функцию проводимости:
xyt v tyt vxzv yxt v yxyz v tz = yt(x v l)v xz v yxt v
v yxyz v tz = yt v XZ V tz v yxt;
xyxv xtxv x)tyxv xyxv xtxv xytyxv xtytx = 0;
xyv xzuv tu v tzy.
схема;
не является схемой, т. к. последний вход ф] соединен с выходами Фз и Фа» а ВХ-ОД каждого элемента ф; может быть соединен не более чем с одним выходом элемента фу;
не схема, ибо ф3, ф4 и ф5 образуют цикл.
Релейно-контактные схемы заданных функций изображены на рис. 6.12.
Рнс. 6.12Рнс. 6.12
Рнс. 6.12
Рнс. 6.12
(у v z)—» xy = yv zv xy = yzv ху = y(xv z) (рис. 6.13, a);
xy <-> yx = (xy —> yx^yx —> xy)=xy v yx
= ((x V y)v yx)(y vijvnpp/v v yx^ v у v xy)=
= (x v y)jc v у)э лу V xy (рис. 6.13, 6);
X Ф у Ф Z = (xy V xy)® Z = (ху v xy)z v (xy V xy)z =
= xyz v xyz V I xy A xy z = xyz v xyz v xyz v xyz (рис. 6.13, e).
Рнс. 6.13Рнс. 6.13
Рнс. 6.13
Рнс. 6.13
схема формулы (xv yz)(xy v z/) изображена на рис. 6.14;
л -схема формулы ^у v z)v /)х приведена на рис. 6.15.
Рис. 6.14Рис. 6.14Рис. 6.15Рис. 6.15
Рис. 6.14
Рис. 6.14
Рис. 6.15
Рис. 6.15
рассмотрим множество простых цепей схемы вида PJ^f' ■ Оче-
видно, две цепи х, х2.. ,хл и х!х2...хп не будут иметь в составе элементы Xj и х( одновременно, их функция проводимости / = -^^...х v х, . Хотя остальные цепи также будут существенны (каждая внутренняя вершина будет обходиться один раз), их функция проводимости будет равна нулю;
существует лишь одна цепь без повторений элементов X; и хг . Это цепь ххх2...хпхп_х, функция проводимости по остальным цепям равна нулю.
Упростим приведенные формулы, чтобы л -схема была проще.
x(yz v yz)v x(yz v yz)= x(yz v у v z)v x(yz v yz) =
= xyz V а у V XZ V xyz V хуZ = У^Х V XZ)v z(x V хуJv xyz =
= у(х v z)v z(x v y)v xyz = xy V yz V xz V yzv xyz S
= x(y V yz^V yz v xzv yz =
= xyv xzv yzv xzv yz 3 x(zv y)v z(xv y)v yz. Схема изобра- жена на рис, б. 16, а;
Рис. 6.16
((* ^ у)л (у_-> z)) -> (х -> z) = (Ayjy vz)v ^ v z)= Bxyvyzvxvz = (xv xy)v (z V Zy^B xvyvzvy=1=xvx (рис. 6.16, 6);
Очевидно, что х X у = х v у , a v у = (х X у)X (а X у), х лу = (xl х)1< (у X у). Тогда х X у = а /\у = ху. Схема изображена на рис. 6.16, в.
Предложенные схемы являются тс-схемами. Составим вначале для них функции проводимости и упростим эти функции.
(х v y^z v х^у a z^xyz v Ayz) г (az v yz v aa v xy)-
- (xyz v xyzz V zyzy v xyz)=
= xyz v хугуг v xyzyxv xyzxz v xyzyz v
v xyzyx = xyz v xyz (рис. 6.17, a);
(xyz V xyz)yz v t^y V z)= xyz V xyzyz V t^y V z)= xyz v t(y> V z) (рис. 6.17, 6s);
x(x v у, Xx V y2). У V y„ ) 3 .V (x V xyv v xy2 v y, y2 Xx V y3)..
Дх v X,)s ^ v ^1 v ^2 ^Wi v xys ^ ^Уз ^ хУгУз ^ У1УгУ>\- -(x v y„) s x(x v лу, v xy2 v ... v xy„ v xy,y2 v... vxy,y2...y„ v... -V У^-уЛ^Дх^ У^-У,.^^ Wi-Уп =x (рис.6.17,e).
Рис. 6.17
Итак, восстанавливаем схему методом каскадов. /(х3 )= х, © х2 © х3 © 1, п = 3, 1 = 1,2,3 , ( = 1, Ц :/(ап^.^), /(l,^,^)^®-1^ До,^)=^®^®1. 1 = 2, U2 -,f^va2,x2\ /(1,1,х3) = х3 ®1, /(1,0,х3)=х3, /(0,1, х3) = х3, /(0,0, х3) = х3 ® 1.
i = 3,U3: /(□„□,,□,) /(1,1,1)= 0, /(Ц,0)= 1, /(1,0,1)= 1, /(1,0,0) = 0, /(0,1,1) =1, /(о,1,о) = о, /(0,0,1) = о, /(0,0,0) = 1.
СД = ^х2 ® хз > х2 ® х3 ® 1 j, U2 = |^ ® 1, Х3 |, U, = |о, 11.
Способ проведения ребер показан на рис. 6.18, а. На рис. 6.18, б — схема, полученная после удаления вершины с = 0.
Проверим правильность построения схемы, упростив исходную функцию.
X, ©Х2©Х3 ©1 =Х( ©Х2©Х3 = (х,х2 VX|X2)©X3 = (х, х2 V х,х2 )•
• х3 V (xj х2 V Х]Х2 )<з = X] Х2Х3 V VXtX2X3 V (^ V х2 )а (xj V х2 )^ =
= Х]Х2х3 v х,х2х3 v х,х2х3 v х,х2х3, Если теперь составить функцию проводимости схемы рис. 1.18, б, она совпадет с последним выражением для Д^,^,^)-
Рис. 6.18
/= х,х2 v х2х, v х,х3, и = 3, i = 1,2,3 .
/ = !, и^./^.Хг.ХзУ /(1,х2,х3)=х2 vx3, /(О,х2,х3) = х2х3.
i = 2, U2 :/(□,,о2,х3), /(1,1,х3)=1, /(1,0,х3)=х3, /(0,1,х3)=х3, /(ОДх,) = О.
1 = 3, [/,:/(□„□,,□,), /(1,1,1)=!, /(1,1,0) = 1, /(1,0,1)= 1, /(1,0,0) = 0, /(0,1,1)=!, /(0,1,0) = 0, /(0,0,1)= 0, /(0,0,0) = 0.
Рис. 6.19
Вершины 3 и 7, 5 и 6, соответствующие функциям 1 и 0, эквивалентны. Из схемы, полученной отождествлением эквивалентных вершин и удалением вершины с = 0 (рис. 6.19, б), функция проводимости
/ = х,х2 V х, х2х, V х,х2 х2х2 vx,x2x, =
— А,А2 V А] А2А3 V А|А2А3 — AjA2A3 V AjA2 А3 V А| А2А3 V А|А2А3 —
= (х|Х2Х3 V X,X2X3)v (х, X2X3V XjX2X3)v
v ^х2х3 v х,х2х3) = х,х2 v х,х3 v х2х3 , что совпадает с исходной функцией. Заметим, что л -схема этой функции имеет иной вид.
Введем следующие обозначения для высказываний: /? = { машина синего цвета }, q = { машина марки "Бьюик" }, г = { машина черного цвета }, s = { машина марки "Крайслер" }, Z = { машина марки "Форд" }.
Из показаний Брауна. Джонса и Смита следует, что высказывания px/q=\, гх/8 = \> px/t = \. Конъюнкция этих высказываний также будет истинна, т. е. ^р v q)(r v s^p v /) = = 1 = prpv prtv pspv pst v qrpv qrtv qspv qst. Однако все конъюнкции, кроме qrp, ложны. Следовательно, qrp = \, т. е. преступники скрылись на черном "Бьюике".
Обозначим через х высказывание х = { первый студент изучал логику }. Аналогично у = { второй студент изучал логику }, z = { третий студент изучал логику }. Тогда условия задачи дают: 1) х—> z = 1;
у -> z = 1.
Составимконъюнкциюэтихвысказываний.
(х -> z)(y^z) = l = (rv zXyvz)=
= (хv z)(y az)= xyzv zyz = xyz. Таким образом, xyz = l, т. e. логику изучал только второй студент.
Обозначим через х,у,х,1 следующие высказывания: х={ первый студент сдал экзамен }, у = { второй студент сдал экзамен }, z = { третий студент сдал экзамен }, / = { четвертый студент сдал экзамен }. Тогда х —>у = 1; у—>zvx=l;t—>xaz = 1;
Z —> z = 1.
Очевидно, что (х —> у)(у —> z v х^ —> xz^t —> х) = 1 =
= (х V у^> V z V x)(z v xz^t V х)= ^у V уу V xz v yz V ух V х)'
• (г/ v xzt V xtv XZр \VZ V Xj^Xt V XZ) = xyzt V xxt v yzxz V xxz = xyzt = 1. Таким образом, экзамен сдали все четыре студента.
Основное условие этой задачи заключается в том, что шесть человек будущей экспедиции должны выполнять шесть обязанностей строго индивидуально. Кроме того, имеются ограничения на персональный состав: если едет F, то должен ехать В, если едет D, то должны одновременно ехать Ни С, т. с. в состав экспедиции входят FB и DHC. Напротив, CG = 0 и АВ=0.
Шесть специальностей экспедиции должны быть обязательно заняты, т.е. (EvG^Bv fXFvGXCv D\Cv H^Av D>\ или (B£v BG v EFv FG\CFvCG v DFvDG\ACv AHvCDv DH) = 3 (BCEF v BCFG v CEF v CFG v BCEG v BCG v CEFG v CFG v v В DEF v BDFG v DEF v DFG v В DEG v BDG v DEFG v DFG\ ■^AC v AH v CDv DH\
Исключим сразу логические слагаемые из трех членов, т. к. в экспедиции должно быть шесть человек (не допускается совмещение специальностей) и логические слагаемые, содержащие CG = 0. Тогда (BCEF v CEFG v BDEF v DEFG\aC v AHvCDv DH) = = ABCEF v ACEFG v ABCDEF v ACDEFG v ABCEFH v
v ACEFGH v ABDEFH v ADEFGH v BCDEF v CDEFG v
v BCDEF v CDEFG v BCDEFH v CDEFGH v BDEFH v DEFGH. Опять исключим пятичленные логические слагаемые и учтем условие АВ = 0. Получим BCDEFH= 1.
Набор специальностей заполним по порядку. Пусть В будет гидрологом, тогда F гидрологом не может быть, а будет синоптиком. Аналогично С — радист, D — врач, Е — биолог, а Н — механик.
Поскольку в каждом из ответов лишь одно утверждение из двух истинное, то истинной будет их дизъюнкция. Тогда (С, v Р2)л (С2 v В3)л (Ю2 v«4N^ (с,С2 v Р2С2 vCtB3 v Р2В3)-
(р 2 V В4)= С)С2Р 2 v Р2С2Р 2 V С,В3Р 2 V Р2В3Р 2 v
V С]С2В4 v Р2С2В4 v С,В3В4 v Р2В3В4 е С,В3Р 2 = 1 ■
Отсюда Р4=1, и места распределились так: Сергей— первый, Юрий — второй, Виктор — третий, Роман — четвертый.
11 Зак 4306
Введем следующие обозначения: Пк = { Петя видел Колю на улице }, Кк = { Коля ходил в кино }, Кп = { Коля сказал правду }, Пп ={ Петя сказал правду }. Условия задачи следующие:
к^лк^.,
КП —* (^ V Пп )= 1 •
Отсюда
^(кк V Пп ^ ^Кп ^п Цкк^П^5
= (пк V Кк v Пп ). (кк v п;кп ^КкуП^
= ^РкКк v К к v ПпКк v Пк11кКп v
v КкПкКп v Пп ПкКп ^Кп v К к ^ Пп^в ^Кк v ПпПкКп\
' ^Кп v KKv Пп )= КкКп v ПкПкКпКп v Кк v Пп11кКпКк v
v Кк Пп v Пп ПкКп Пп = Кк = 1.
Итак, Коля ходил в кино.
1.21.17. Обозначим город, куда собираются поехать друзья, буквой в нижнем индексе фамилии. Тогда условия задачи дадут следующие уравнения:
О ^м ^о = 1 ’
B^B^A^V,
Ст —> Вк = 1;
^) ^м Вм = \ \
Конъюнкция этих высказываний также будет истинной. Запишем ее и упростим полученное выражение:
С^мСо ^Вм Вт —> Ам )^7 ^к \^м ^м Х^о ^м^-
- ^Ам v Со)- (^Вм v BTv Ам )(СТ v Вк ){dm v Вм ХРо v ®м)=
- ^АМВМ v СОВМ v АМВТ хуС0Вт v Ам v Ам С^)- • (ctDm v BKDM v CTBM v Вк BM ^Do v Вм^= = ^Рм ^о v BTCov Ам )■
" ^Рт ^м Do v В к Dm Do v CT BM Do v BK BM Do v v CTDMBM v BKDMBM vCTBM v BKBM^
= ^м Wr Bm Dq v Bt C0Ct Bm Do v
v AM CT BM Do v BM C0CT BM v AM CT BM v
v ^м ^k^m v BTCOBKBM v
v Vk ^m = AMCTBMDO v AMCTBM v AMBK BA( = 1.
Каждое из логических слагаемых может быть истинным. Рассмотрим первое: AMCrDo = 1, тогда Вк = 1. Для второго: АМСТ = 1, тогда либо BODK=Y, либо D0BK=1, однако второе сочетание уже встречалось в первом слагаемом. Аналогично, третье слагаемое дает АМВК =1, тогда C0DT = 1 или CTD0 =1. Итак, окончательный выбор городов таков: AMBKCTD0 v AMB0CTDK v AhlBKC0DT.
Обозначим фамилию школьника с индексом внизу, равным номеру убранного класса. Сообщения учеников с учетом ложности одного и истинности другого высказывания будут иметь вид
= (А)^ v C-jKg v A)Ag v С7А8ХС8 v£10) =
= CjC^Kg v C7C8Ag v CjK^K^q v CyAg^o. Итак, CyAjA^j,)^!, t. e. Д9 = 1.
Андреев убирал 8-й класс, Костин — 10-й, Савельев — 7-й, а Давыдов — 9-й.
Глава 7
Исчисление высказываний
Ответы и решения практического занятия № 5
А^ В, Ал В, А^В, А, В;
(А^ В)л(В^С), "Av С, А—> В, В—> С, А, А, В, С;
А, ~В—>^А—> В), В, А^ В, А—> В, В;
4 » а2 v А., А3,4 v 4 ’ 4 •
С помощью подстановки выводимая формула получается лишь тогда, когда подстановка осуществляется в одну из аксиом 2.1.1. Таким образом, необходимо лишь подобрать нужную аксиому.
J(x —> (х v у)) = |- А а В —> А л В v С;
А.ЙлС.Д
f(z->x)->((z->y)->(z->.VAy)) =
= |- (А -> А^ ((А -> В л С)-> (А -> Ал В л с))-,
АлВ.С.ВлС
J(^^(y^z))^((x^y)^(x^z)) =
= |-(АлВ -^(С В лС))^((АлВ -^С^<АлВ В лС));
J(x^y)^G^x)s|-(/lvB^c)^(c^ Ал в).
Выводом в исчислении высказываний называется конечная последовательность формул А^А^Ап такая, что V/ (1 < i < п) ^ есть либо аксиома, либо непосредственное следствие предыдущих аксиом, причем аксиомой называется всякая формула, полученная из схемы аксиом 2.1.1 по правилу подстановки, а непосредственное следствие получается по правилу простого заключения.
вывод,т. к.А —> (A v У) —аксиома
в
IIIj: j(x—>xvy)=|-^ —>(Я vS);
х,у
вывод. Первый член — аксиома 1П|, второй член получен подста- А-»АуВ.В
новкой j .х —> (у —> х) = |- (А —> A v 5) —> (У —> (А —> A v У)),
третий по правилу простого заключения из первых двух;
данная последовательность формул не является выводом, т. к. второй член последовательности А —> (В—> А)—> В не может быть получен подстановкой ни в одну из аксиом 2.1.1.
а) Г^Л-^В-Х^ЛВУХВ.Л-^В-Х?), В —> С ,
|-8->С
|-с^^Цч^-^ян^л)
В^А , А
х ■* х'поППЗ
^-.В^В-Й^[-8-»8,|-[и-»8у>(8-»5)
^~^ Я—^fi^^fS—>я)|~ В—>А
ъ)Г = {А^В,А}:А,А^В, В , Б по ППЗ
|-л,|-л—в,с |-SJv
(А—> В)—>(А—> Bv С). по обобщенной теореме дедукции А^В,А\-ВуС
\-U^>B>-^4->BvCj
по ППЗ
|-д,|-д-»л 1-5
t->BvC ,BvC
ПЬ:х->хуупоППЗ
.\-В,\-В-»ВуС
Ш^>\-В-»ВуС|_Bvc
2.4.5.
пустьГ,В, В = Г, = {4, A2,...,^, В, В},тогда
Г, В = Г2 = {4,Я2,...,4,,В}. Выводы из Г, и Г2 будут одинаковы, т. к. вывод из совокупности формул может содержать доказуемые формулы, формулы из рассматриваемого множества и формулы, полученные из формул множества по правилу простого заключения. Все три источника формул вывода для Ц и Г2 будут давать одинаковый состав формул;
если Д, А2,...,Ап есть вывод А из Ц, a В^В2,...,Вк — вывод В
из Г2,то Д, А2,...,Д1,ВпВ2,...,Вк есть вывод В из Г15Г2;
пусть Д,А2,...,Ап— вывод С из Г],4В,Г2. Вывод С из Г,, В, А, Г2 будет такой же, только порядок формул в выводе может измениться. Качественный состав формул вывода от этого не изменится.
исходное множество произвольно, т. к. оно не задано. ВоспользуемсяI /\
ся первой и девятой аксиомами: J х —> (у —.> л) = - А —»(В —» A j,
j (х —> у)—> (у —> x)= I-(в —> а)—> ^4 —> в). По правилу сил-
1-А^(в^ а)|-(в->а)->(а->в)
логизма -jр=т, по правилу соеди
нения посылок Ц—=-. Наконец, применим правило сня-
-АлА^В
-АлА^В
тия двойного отрицаниятия двойного отрицания= и заменим В на F;
тия двойного отрицания
тия двойного отрицания
-АлА^ В
F __
JAaA^B^-AaA^F; В
сделаем подстановки во второй, третьей, четвертой и девятой аксиомах и применим правила силлогизма и сложного заключения. Получим:
(А-»В)л5,В.А,_,_.х
В = А-
Пусть
тогда
воспользуемся первой, второй, восьмой и десятой аксиомами, правилами простого и сложного заключения, тогда
По теореме разъединения посылок имеем
секвенция выводится применением первой и девятой аксиом, правил силлогизма, снятия двойного отрицания, соединения, разъединения и перестановки посылок.
А,5А,5- А -» (а в)-а^(а->в)- А -» (а в)-а^(а->в)
А,5
А,5
- А -» (а в)
-а^(а->в)
- А -» (а в)
-а^(а->в)
Запишем все доказательства в виде вывода из исходного множества формул:
Г = {Я —> (В —> С)}: А^(В^С\ Ал.В->С ; соединение посылок
|-АлД-^С
Г = {Л —> в}. Обозначим Ц = {Л —> В, Л} и Г2 = {Л —> В,В}.
А^ В,Д-А^В
По теореме дедукции!—;г,
A^J^A^A^B)
А-^В,В-А^В А^,В,СУА^В
"37г , 5! 7—г. Тогда эти фор-
0-B^U^B) А-*вуС->(А-» В)
мулы можно добавить в вывод из Г,
т.е. Г: А—>В, А->(А^В) , В —» (а —» В), С —» (а —» В), по теореме дедукции
АлС^В , С->(А->С) , АлС^С , соединение посылок ссоединение посылок
|-С—»(Л—»В)J в-»(И-»В)-|-С->(И-»С)
I-JaC^B 8
325325Глава 7. Исчисление высказываний
325
325
(АлС -у в)->((АаС->CX->(AaCВ аСХ\ и^хНи^уУ^хлу»
В.С.АлС,
J (113 >АА^С^вУ-1^ЛхС->С')-х(АлС^>ВлС')')
АаС^ВаСпо правилу сложного заключения|-ЛлС-»Д,|-ЛлС-»С,|-(ЛлС-»д)->((ЛлС-»С)->(ЛлС->ДлС))|-ЛаС-зЯлС
В ->А , А^В , по ППЗконтрпозиция|—aJ—А^(й^а)|~Я—зА|—В—>А I—А—^ВВ ->А , А^В , по ППЗконтрпозиция|—aJ—А^(й^а)|~Я—зА|—В—>А I—А—^ВА—» В , А^В снятие двойного отрицания аналогично предыдущему |-А—»В |-А-4ЙА—» В , А^В снятие двойного отрицания аналогично предыдущему |-А—»В |-А-4Йг) Г = {л -> в}: А -> В,г) Г = {л -> в}: А -> В,В^А ,КОШрИОЗИЦИЯ[-д-»д|-д->дВ^А ,КОШрИОЗИЦИЯ[-д-»д|-д->дВ-^АВ-^Аснятие двойного отрицанияснятие двойного отрицания|-В->Л|-В->Л
В ->А , А^В , по ППЗконтрпозиция
|—aJ—А^(й^а)|~Я—зА
|—В—>А I—А—^В
В ->А , А^В , по ППЗконтрпозиция
|—aJ—А^(й^а)|~Я—зА
|—В—>А I—А—^В
А—» В , А^В снятие двойного отрицания аналогично предыдущему |-А—»В |-А-4Й
А—» В , А^В снятие двойного отрицания аналогично предыдущему |-А—»В |-А-4Й
г) Г = {л -> в}: А -> В,
г) Г = {л -> в}: А -> В,
В^А ,КОШрИОЗИЦИЯ[-д-»д|-д->д
В^А ,КОШрИОЗИЦИЯ[-д-»д|-д->д
В-^А
В-^А
снятие двойного отрицания
снятие двойного отрицания
|-В->Л
|-В->Л
Г = \А^В,В^СУ.А-^В,В^С, А->С ;
силлогизм|-Д^Д,|-Д->С
\-Л->С
Г = {Я В}: А -> В, С ^ (А В), по теореме дедукции Л-»В,С\-А->В |-С-»(Д-»Д)
(с (д ^ вХ)^ ((с -^А^ (с^в)\
сдв ^у^Ых-хуНх^
С’?’8(|2>|-(с-»(/1-^д)М<'->л)->(с-»в))
X,y,z
(С^А^С^В');
по ППЗ
[-с-^вуЧс-^^^
|-(С-^АНС-»В)
Г = {Я —> В^- Av С ^ Bv С. Рассмотрим вначале дополнительное множество Г) = {И ^ В, Я} и запишем вывод из него
Г.: А -^В, А,В ,по ППЗ |-^,|-^—»вИ»Г.: А -^В, А,В ,по ППЗ |-^,|-^—»вИ»B->BvC , ПЬ:*—>jrvyВ,С, х ^(lIljH-S^BvC)B->BvC , ПЬ:*—>jrvyВ,С, х ^(lIljH-S^BvC)перь обобщенную теорему дедукции:перь обобщенную теорему дедукции:В^С Применим тело ППЗ|-Д,|-В-»ДуС|-ВуСA^B,ArB-vC\-^А^ В^^А^ В^ С^'В^С Применим тело ППЗ|-Д,|-В-»ДуС|-ВуСA^B,ArB-vC\-^А^ В^^А^ В^ С^'Таким образом, формула (А —» В) —» (А —» В v С) выводима, и ееТаким образом, формула (А —» В) —» (А —» В v С) выводима, и ееможно добавить в любой вывод. Тогдаможно добавить в любой вывод. Тогда
Г.: А -^В, А,В ,
по ППЗ |-^,|-^—»в
И»
Г.: А -^В, А,В ,
по ППЗ |-^,|-^—»в
И»
B->BvC , ПЬ:*—>jrvy
В,С, х ^(lIljH-S^BvC)
B->BvC , ПЬ:*—>jrvy
В,С, х ^(lIljH-S^BvC)
перь обобщенную теорему дедукции:
перь обобщенную теорему дедукции:
В^С Применим тело ППЗ
|-Д,|-В-»ДуС
|-ВуС
A^B,ArB-vC\-^А^ В^^А^ В^ С^'
В^С Применим тело ППЗ
|-Д,|-В-»ДуС
|-ВуС
A^B,ArB-vC\-^А^ В^^А^ В^ С^'
Таким образом, формула (А —» В) —» (А —» В v С) выводима, и ее
Таким образом, формула (А —» В) —» (А —» В v С) выводима, и ее
можно добавить в любой вывод. Тогда
можно добавить в любой вывод. Тогда
Г: A^bAa^bA-^U-^BvCY A^BvC по ППЗ (-A-^bJ-CA-^MA-^BvC) \-A-^BvC
C^BvC , (A-^BvC)->((C->BvC)^(AvC->BvC)'), c 8 Шг.у^уШз^гНЬ^Ниу^^
i (lll2M-C->evC ' j V (1И3^|-(Л—>BvC)-.((C->BvC)-.(AvC—>BvC))
AvC^B^C;
no правилу сложного заключения
tj-A-yBvCit-C-ABvtitA/^BvCyAl^^ \—AvC—yBvC
Г= 1A,A—> Bp A,A—> В, A^B , В ;
Jснятие двойного отрицания по ППЗ
|-^б[2^12^25.
|-Л->8। В
Г = ^-^В,5}:Л-^В,В, (,А->В)-^^В^>аУ
f (^>|-(Л^5^(5^л)
по ППЗпо ППЗпо ППЗ
по ППЗ
по ППЗ
|-В->Л|-/1
Г = {л}:Я, А->(В->А) , В-^А
Ipz^ly-u)"опт
J 01 й]-^^>(в^^)|_в_,и
а) для доказательства этого правила используем правило введения импликации и конъюнкции и правило объединения посылок, записан-
Г, Л^-С ное в более общем виде, чем рассмотренное ранее: -^ ———— —
4,4--Ah 8объединение посылок, ,введение им-
|- 4 Л ^ А ...Л Д, В пликации и конъюнкции. Применим эти правила п раз к формулам А А в- ^Aj-s 4 А 4|~84 Л 4,4|-д
' 4л4|-в’ |-4лл2^в’ 4 л а2 л 4|- в’ 4a4,4|-84 а А Л--а 4,-1 ,А|-8
|~4 л л2 а А ^ 8 ’ ’ |-4 л 4 а ...л 4,_| *А~*В
5)]а^В,А^ в}: А^ В,А^ В,(Л^ В)^(в-^_а),
Л,В, ,
В^А , В->В ,(b->b)^((b^b)^(bvB-^b)Y ,"° ППЗ ._ _. . _«™<>™™_ lllj^Hb^MAV,^))
И-»вМл->внв-»л) -в-»л,|-л-»вв.в.в
В^ВВ^В|-в->в|-в->вBvB , см. пример 4 раздела 2.3BvB , см. пример 4 раздела 2.3|-5—А|-в->в^(шзЩв^вН^в^ув-ув))
В^В
В^В
|-в->в
|-в->в
BvB , см. пример 4 раздела 2.3
BvB , см. пример 4 раздела 2.3
8^В ,IVjv^-vHtV^-B-^B
в;
по ПСЗ |-B-»B.|-B->B,|-BvB,|-(b->bA((B->B)->(bvB->b))
в) ^.вУ А,в, А^А , (А-э В)->(А^ в), по теореме дедукции А-^В . z х z
д|-АJ \А—>л^|-(а—>в)—>(л—>в)
|-Л->ЛА
А^ВА^Впо П|13по П|13|-и-»в|-и-»в|-bJ-b-»U-»b)|-bJ-b-»U-»b)А ^.((Я^В)^ В), (А^В)^В ,В^><А^В\ персстанонса посылокио ППЗкоптрпозитя
А^В
А^В
по П|13
по П|13
|-и-»в
|-и-»в
|-bJ-b-»U-»b)
|-bJ-b-»U-»b)
иЯ^ВНл^)|-А.|-А—»((А-»В)—>S)|-(J->B)->B
|-/|-»((Л->В)-^В)|-(А—>В)—>В|-В—>(А—>В)
г){ЯлВ}:ЯлВ, АлВ^>А , А ;
Прхл>*—>дспо ППЗ
А,В, ,1-АлВ.|-ЛлВ-»А
| (п^НлВ^ 1^
А^А , см. пример 4 раздела 2.3А^А , см. пример 4 раздела 2.3л){а^а}:А^А, А^А_,А-»^, _ IV2:x—»х-д-»л
А^А , см. пример 4 раздела 2.3
А^А , см. пример 4 раздела 2.3
j(lv2 )=|-Л-»Л _"д^
а)-> ((аа)-> (а v А -> а)),
П13:(л-«)->((у->гН.№^-»г))
Л^Л(п13 )^-(a-»a)-»((a-»a)-»^iv4-»a))
Апо ПСЗj-Л—»А,|-А—^-AvA,!-^—»a)-»((a-4a)-»(avA->a)).
■
быть таким:быть таким:этого множества можетэтого множества можетПрименим теперь обобПрименим теперь обобрассмотрим множество формул Г = {^—> 5,S—> С, л}. Вывод из
быть таким:
быть таким:
этого множества может
этого множества может
Применим теперь обоб
Применим теперь обоб
Г: А^В,В^С,А, В , С . по ППЗ по ППЗ
^А^В,В^С,АУС|-(Л^В)-^((Д^С)^(,4^С)):^А^В,В^С,АУС|-(Л^В)-^((Д^С)^(,4^С)):щенную теорему дедукциищенную теорему дедукции|-5|-С
^А^В,В^С,АУС
|-(Л^В)-^((Д^С)^(,4^С)):
^А^В,В^С,АУС
|-(Л^В)-^((Д^С)^(,4^С)):
щенную теорему дедукции
щенную теорему дедукции
Г = {А в)-(с->а)->(с->в), см. задачу 2.4.7, е. Тогда
■J^bHc^jMc-^b^
|-(А—> В)—> ((С —> А)—> (С—> в))’
Г = (а,В->а}:А,В->А, А^В , В .
контрпозипия по ППЗЬ±±1 |-л,|-л-»в
{а,5-> а}-В
Отсюда т—=Ц.
-А-»(5-> А)^В
Пусть в исчислении Лукасевича доказуема хотя бы одна однобук- лА-^В
венная формула |- R. Тогда J^ —1~ A, jA = |-J^B, rR
^R = \-B^A, R
[^ -^В^ ((ВС)^ (Л С)) = |- (А В^
—> ((ВА)—> (АА)),
^_ А—> В,^-(А—> В)—> ((В—> А)—> (А—> А))
^(B^aWa^A)
1-В—» л,|-(в—> а)^(а^ а)
;. Итак, необходимый вывод имеет |-А
вид {8}: А, А -> В, В -> А, (А -> В) -> ((В -> А) -> (А -> Л)^ (8^ А)^(А^А),А^А.
D /(Л^В)^((8^О^(Л^О)|-(Л^(Л-^8))^
^(((.А —> 8) С) —> (Л С));
|~(Я -»(А—> В))|-(Л -^(А-^ В)) -> (((Л8) С) (Л Q)
}^^B)^Q^(A^Q)
^f'«й -^B)^Q^U^ С))|-(((Л -^ Л) -» А) (А Л));
7.2. Ответы и решения практического занятия №6
2.9.1.
]— Ал В <-> Вл А, но АлВ<^ВлА =
= (Л л В -^ В л А)л(В л А ^ А л В). Пусть С — любая форму-
ла, выводимая в исчислении высказываний, тогда
с->с , в-»в , |-с,|-с->(с->с) №-c>\-b-.b |-с->сс->с , в-»в , |-с,|-с->(с->с) №-c>\-b-.b |-с->с{С}: С,{С}: С,АлВ—>В , с->(с^с) ,
с->с , в-»в , |-с,|-с->(с->с) №-c>\-b-.b |-с->с
с->с , в-»в , |-с,|-с->(с->с) №-c>\-b-.b |-с->с
{С}: С,
{С}: С,
П2:1лу->у।
Л,В, ,С С
(В-^А)^(В^ВлА) ,(В-^А)^(В^ВлА) ,^(П2Ц-ЛлВ->В } (t^i-c^tc^c)
(В-^А)^(В^ВлА) ,
(В-^А)^(В^ВлА) ,
ппз(jMBj^MO-XtB-^A)--^^|-(В-М)->(В->ВлЛ)ппз(jMBj^MO-XtB-^A)--^^|-(В-М)->(В->ВлЛ)(В -> в)^ ((В А)-> (в В л А)), Н3:(г-ы)->((г->у)->(г->хлу))
ппз
(jMBj^MO-XtB-^A)--^^|-(В-М)->(В->ВлЛ)
ппз
(jMBj^MO-XtB-^A)--^^|-(В-М)->(В->ВлЛ)
ВДВ, .
J (113^-(В^вН(в->лМб^ЙлА))
Z.x,y
С -> (А С),А —> С , В—> А , В В л А
ППЗ В АППЗ
С,А1?l-Cj-C^(±±£) J И-^СН-”-»^ L-B-^aHb^^B-^^
^Hh)=|-C-»(A-»C)|-л_,с|-В-»ВлЛ
А л В ^ В л А, В л А ^ А л В , силлогизм аналогично предыдущему
|—Ал В—>В,|—В—>ВлА
|—АлВ—>ВлА
(ЯлВ^ВлЯ)л(ВлЯ^ЯлВ)=АлВ«->ВлЯ; введение конъюнкции
|—АлВ—>ВлА,]~Вл А—>АлВ
|-(АлВ->ВлА)л(ВлА-»АлВ)
пусть С — любая выводимая формула. Тогда {С}:С, A^AvB ,(В^А)^((А^ A)->(BvA^A)),
^HlII^-A-^AvB ’j’ (ni3^-(B-»A)->((A->A)-*(BvA-»A))
С (с -> с) , С^С , А А ,
С.с'1|-W,|-C-»(C-»C) Пс-»С)=|-Л-»Л
J^H-c-^c)с
С^(В^С), В^С ,
^ В^А , (А^ A)->(Bv А-> А) , BvA^A
Нв^с'щ-в^л ^^^д"^^^^^^ \-Л^>Л,\-^~>^ВуЛ^Л) |-U->^(Bv^->^)l-BvA->A
BvA^AvB, AvB^BvA
силлогизм аналогично предыдущему
|—В v А—> Д ,|—Д —> Д vB
|-6уД->ДуВ
(В v А^ Av B^Av В^ Bv a)=Bv А^ Av В.
введение конъюнкции |-5уЛ->ЛуД,|-Луй->йуЛ |-(8уЛ->ЛуА)л(ЛуЯлЯуЛ)
2.9.2.2.9.2.а)а)Л^Адвойною отрицанияЛ^Адвойною отрицанияА-»А_ , V^jr—>vснятиеА-»А_ , V^jr—>vснятие, (А^ а)л(А^ а^л введение коньюнкцииН'^ыл^'), (А^ а)л(А^ а^л введение коньюнкцииН'^ыл^')^ А;^ А;
2.9.2.
2.9.2.
а)
а)
Л^А
двойною отрицания
Л^А
двойною отрицания
А-»А_ , V^jr—>vснятие
А-»А_ , V^jr—>vснятие
, (А^ а)л(А^ а^л введение коньюнкции
Н'^ыл^')
, (А^ а)л(А^ а^л введение коньюнкции
Н'^ыл^')
^ А;
^ А;
{л <-> bY-U^ В)л(В^ а), А^В удаление конъюнкции [А±лвЫ»Ч1)
|-Л-»В
В А , (с -> А)-> (С -> В) ,
аналогично предыдущему С^А,С->В
J (а^в>{-(^^ДМ^/») А.В
(С^В)^(С^А) ,
С->В,С-^А
J (£^д>|-(с^)->(с^д)
((СА)^ (с В))л ((СД)^ (с А>(.С А) (С В),
введение коныоикши|-(с->лНс->в),|-(с->в)->(с->л)
|-((СчдЧс^)И(^«МГ->'1))
2.9.3.
а) |- Av В^- Ал В э (A v В^ Алв)л(АлВ^» Avb).
АлВ^В ,А^АлВ, А^АлВ ,В-^АлВ,112:л:лу^у контр11озиция снятие двойною отрицания кон£р1юищия
А.В_ |-ДаВ-»Дкд^дду|-ДаВ->В
J (и2М-Ллв^в _ -=^^- ^
t,.y-Д^ДаВ_д^длд-В-^ДаВ
2.9.4.2.9.4.снятие двойного отрицания-Д->АлДснятие двойного отрицания-Д->АлД\-В^АлВ\-В^АлВAvB—>AaB правило сложного заключенияI—А-4АлД^— В—» АаД,|- ^А—4 АлД)~*^Д-4Алв)—>(АуД—>АаД^-АуД—»АлДAvB—>AaB правило сложного заключенияI—А-4АлД^— В—» АаД,|- ^А—4 АлД)~*^Д-4Алв)—>(АуД—>АаД^-АуД—»АлДАлВ—>AvB,Av В -> Av В ,контрпозщияснятие двойного отри цания-AvB^AvB-АаВ-^В-АлВ^АуВ-AvB->AvBАлВ—>AvB,Av В -> Av В ,контрпозщияснятие двойного отри цания-AvB^AvB-АаВ-^В-АлВ^АуВ-AvB->AvBA^AvB , B^AvB ,lH]:x->xvyll!2:y—»xvyA,B..A,B, .J (lIljH-A-^AvB j (|П2^-В^АуД x,yx^A^AvB , B^AvB ,lH]:x->xvyll!2:y—»xvyA,B..A,B, .J (lIljH-A-^AvB j (|П2^-В^АуД x,yx^A-vB-^A, AvB^B^B^^^vB^B^^AvB-^AaB^,контрпозиция контрпозиция]| ^-.^^^Л^-^д,))|-A~»AvB \-B-»AvBJ]-AvB—»A|-AvB->B’/ <1^-(^->а)Х(^^)Ч^^аВ^A-vB-^A, AvB^B^B^^^vB^B^^AvB-^AaB^,контрпозиция контрпозиция]| ^-.^^^Л^-^д,))|-A~»AvB \-B-»AvBJ]-AvB—»A|-AvB->B’/ <1^-(^->а)Х(^^)Ч^^аВ^AvB^AaB,правило сложного заключения |-А^А^-А4^,|-(ау^Ц(а^^)-4^у^AvB^AaB,правило сложного заключения |-А^А^-А4^,|-(ау^Ц(а^^)-4^у^|-AvB—)АлД|-AvB—)АлД. 0:. 0:введение конъюнкции |-{ауД—>АлВ^~(АлВ—«Ауд) | -(ауВ-4Аад)л(алВ—>Ауд)введение конъюнкции |-{ауД—>АлВ^~(АлВ—«Ауд) | -(ауВ-4Аад)л(алВ—>Ауд)W^’x-^x ковтрпозиция j(iv2>|-a^aL—_W^’x-^x ковтрпозиция j(iv2>|-a^aL—_А^.А , А^А , IVj X—*х контрпозиция f(lV3W-A^A 1\-л-»лА^.А , А^А , IVj X—*х контрпозиция f(lV3W-A^A 1\-л-»л
2.9.4.
2.9.4.
снятие двойного отрицания-Д->АлД
снятие двойного отрицания-Д->АлД
\-В^АлВ
\-В^АлВ
AvB—>AaB
правило сложного заключения
I—А-4АлД^— В—» АаД,|- ^А—4 АлД)~*^Д-4Алв)—>(АуД—>АаД^
-АуД—»АлД
AvB—>AaB
правило сложного заключения
I—А-4АлД^— В—» АаД,|- ^А—4 АлД)~*^Д-4Алв)—>(АуД—>АаД^
-АуД—»АлД
АлВ—>AvB,Av В -> Av В ,
контрпозщияснятие двойного отри цания
-AvB^AvB-АаВ-^В
-АлВ^АуВ-AvB->AvB
АлВ—>AvB,Av В -> Av В ,
контрпозщияснятие двойного отри цания
-AvB^AvB-АаВ-^В
-АлВ^АуВ-AvB->AvB
A^AvB , B^AvB ,
lH]:x->xvyll!2:y—»xvy
A,B..A,B, .
J (lIljH-A-^AvB j (|П2^-В^АуД x,yx^
A^AvB , B^AvB ,
lH]:x->xvyll!2:y—»xvy
A,B..A,B, .
J (lIljH-A-^AvB j (|П2^-В^АуД x,yx^
A-vB-^A, AvB^B^B^^^vB^B^^AvB-^AaB^,
контрпозиция контрпозиция]| ^-.^^^Л^-^д,))
|-A~»AvB \-B-»AvBJ
]-AvB—»A|-AvB->B’/ <1^-(^->а)Х(^^)Ч^^аВ^
A-vB-^A, AvB^B^B^^^vB^B^^AvB-^AaB^,
контрпозиция контрпозиция]| ^-.^^^Л^-^д,))
|-A~»AvB \-B-»AvBJ
]-AvB—»A|-AvB->B’/ <1^-(^->а)Х(^^)Ч^^аВ^
AvB^AaB,
правило сложного заключения |-А^А^-А4^,|-(ау^Ц(а^^)-4^у^
AvB^AaB,
правило сложного заключения |-А^А^-А4^,|-(ау^Ц(а^^)-4^у^
|-AvB—)АлД
|-AvB—)АлД
. 0:
. 0:
введение конъюнкции |-{ауД—>АлВ^~(АлВ—«Ауд) | -(ауВ-4Аад)л(алВ—>Ауд)
введение конъюнкции |-{ауД—>АлВ^~(АлВ—«Ауд) | -(ауВ-4Аад)л(алВ—>Ауд)
W^’x-^x ковтрпозиция j(iv2>|-a^aL—_
W^’x-^x ковтрпозиция j(iv2>|-a^aL—_
А^.А , А^А , IVj X—*х контрпозиция f(lV3W-A^A 1\-л-»л
А^.А , А^А , IVj X—*х контрпозиция f(lV3W-A^A 1\-л-»л
рассмотрим исходную формулу А = х—> (jc -4 (х—> у л х)). Обо- значим через В выражение В = х—>улх, тогда формула А = х —> (л: —> В) возрастает по переменной В (см. теорему 2.2). Заменим В более сильной формулой у, т. к. |- у —> (х—> ул х).
Действительно, 0: х —> х .
аксиома Vl2
х х , улх^улх , У^^Улх). снятие двойного^ отрицания уллперсаановка посылок
-Х^л| (л-»х>|-улл^улл- l-yAxZ.VAX
|-х->х|-у-*(л-»улх)
После замены получим формулу, возрастающую по у, причем х^ {х^> у)г1, т. е. тождественно истинную, следовательно, выводимую по теореме 2.6. Итак, |-х—> (х —> у), тогда |-х->(х->(х-> улх));
в исходной формуле А= хл. у —> у —> у заменим посылку импликации. Поскольку импликация А^ В убывает по А, заменим посылку более слабой формулой хл у, т. к, \-х/\у^у^хлу.
х-»(х-»у) ,(х—> у)—>х-»(х-»у) ,(х—> у)—>перестановка посылокперестановка посылокконтрпозииияконтрпозииияснятие двойного отрицанияснятие двойного отрицания
х-»(х-»у) ,(х—> у)—>
х-»(х-»у) ,(х—> у)—>
перестановка посылок
перестановка посылок
контрпозииия
контрпозииия
снятие двойного отрицания
снятие двойного отрицания
Получим формулу хлу^у— четвертую аксиому исчисления высказываний, следовательно, она выводима. Тогда выводима и исходная формула, т. е. -хлу^ у^ у.
9.5. А = (хл (хл х—> ул у)—э zjv xv z. Заменим в формуле А подформулу В = хл (хл X—> ул у)—> z более сильной формулой z и докажем, что I- z —э(ха (хл X—> у л у)—> z\
0: х—цу—>х),z —> (х л (х л х —> у л у)—> z /. Получим
_ ||:л->(у-»х) г,хл1хлмулЛ ,| _ / л
j(l ) - |-й(,„Д) V, 1х^^ху=|-г-фЦхм->улу1-»г1
формулу А1 = z v х v z = 1, т. е. |- А1. Следовательно, выводима и формула А. Действительно, после упрощения А получим А = 1 v xv z = 1.
2.9.6.
а) А = хл у v (х —> у)л х, /4(1,1) = 1, т. е. {х, у)- А. Покажем это:а) А = хл у v (х —> у)л х, /4(1,1) = 1, т. е. {х, у)- А. Покажем это:{х, у}:х, у, у->(х->у), Ip-v^y-u)j бУ-у-»!!-»’){х, у}:х, у, у->(х->у), Ip-v^y-u)j бУ-у-»!!-»’)х—> ух—> уь.ь.ппзппз,|"^(«у),|"^(«у)|-т->У|-т->У
а) А = хл у v (х —> у)л х, /4(1,1) = 1, т. е. {х, у)- А. Покажем это:
а) А = хл у v (х —> у)л х, /4(1,1) = 1, т. е. {х, у)- А. Покажем это:
{х, у}:х, у, у->(х->у), Ip-v^y-u)
j бУ-у-»!!-»’)
{х, у}:х, у, у->(х->у), Ip-v^y-u)
j бУ-у-»!!-»’)
х—> у
х—> у
ь.
ь.
ппз
ппз
,|"^(«у)
,|"^(«у)
|-т->У
|-т->У
(х—>у)лх, х—>(у—>х),
правило введения конъюнкции1|:х—»(у->х)
ХЛ у ^ XХЛ у ^ XX —> X л уX —> X л у, X ^ X А у,, X ^ X А у,^(li)-H^x)
ХЛ у ^ X
ХЛ у ^ X
X —> X л у
X —> X л у
, X ^ X А у,
, X ^ X А у,
соединение посылок контрпозиция снятие двойного отрицания
|-х-»(у-»х)|~хлу-»х|-х->хл7
|-"^х|^л?|-л^
хлу , А = хл у v (х —> у)л х;
ППЗ правило введения дизъюнкции
l-J-T-»XAy|-хл.у,|-(му)лл:
|-1лу|-хлуу(»->у)м
л(о,о) = о, таким образом "^с, у|— Л. Вывод А может быть, напри
мер, таким:у}:х,у, х—>х),у—>х, х—vy ,
Ц:.х—»(у—»х)ППЗконтрпозицня
х,у(-^^
А = ^ v х2 —» х3. Л(0Д1) = 0 v 0 —> 1 = 0 —> 1 = 1, следовательно,
1 ’ ^2 ’ *з Л” ^ • А именно,
Л(1,0,0) = 1 V 0 —> 0 = 1 —> 0 = 0 . Тогда ^, л2, л'3}|- А . Действительно, ^^^’^з}' ^1 ’ '^2 ’ ^3 ’"^1"^1 ^21 "^1’
И^л—>.vvvГШЗ
|--xlVA2
H = (x^y)A(y^z)^(z^x), 40Д1) = 0 и Г, =^J,z}|-A,
напримбр, таким способом:
г —> А , А ;
снятие двойного отрицания . ППЗ _
|-z^i н
^(1,1,1) = 1 и Г2 = {х, у, z]- А.
{x,y,z};x,y,z, у->(х->у) , х->у, y->z ,
Ц:х—>(у—»х) ППЗаналогично
Z—>Х ,(х^у)л(у^2), (х —>у)л(у —>z)->(z—>х) .
аналогично введение конъюнкции (^^^О-'^Хг-^х
J(x-»j)^-(x-»y)A(y-»zHz-»x)
Ня-уНу-и)Х’У
Л(1>Ц) = 0 , следовательно, {х], х2 ’ ^з }| ^ ■
XI,XI,ППЗППЗ’ А’’ А’
XI,
XI,
ППЗ
ППЗ
’ А’
’ А’
перестанонсапосылокперестанонсапосылок|-(^/.х2)->((^.12-Мз)-м:з)|-(^/.х2)->((^.12-Мз)-м:з)х ,х ,|-хЗ->(х[ух2-Мз)|-хЗ->(х[ух2-Мз)
перестанонсапосылок
перестанонсапосылок
|-(^/.х2)->((^.12-Мз)-м:з)
|-(^/.х2)->((^.12-Мз)-м:з)
х ,
х ,
|-хЗ->(х[ух2-Мз)
|-хЗ->(х[ух2-Мз)
ППЗ _
|-jr2p.v2-».4vx2
|-Л!УХ2
|-х1У.х2,|-(чУ-Х2НСду2-»з)-*л:з)|Ччу^ч)-»^
снятие двойного отрицания
Л(1,0,1) = 1, pi ,х2,х3 /|* А ■ Вывод А может быть, например, таким:
Ip-*G->x)ППЗVl2:.v-»A
Т<ь)-1-*з)ЬЬ^^^
Х1Х1ппзппзX, лх2X, лх2введение конъюнкции"Х|л^введение конъюнкции"Х|л^X] А Л'2 —> Л'] V Л'2"a^,^VA-2| - _ =J (Y| "^^З) а 'А1 лл2 VA-2XI .х3IX] А Л'2 —> Л'] V Л'2"a^,^VA-2| - _ =J (Y| "^^З) а 'А1 лл2 VA-2XI .х3Iсиллогизм t^^^z^lz^z^iH^z^Jсиллогизм t^^^z^lz^z^iH^z^Jснятие двойного озрццання|-Х1Л^-М2 j-A^-i-»^снятие двойного озрццання|-Х1Л^-М2 j-A^-i-»^соединение посылоксоединение посылок
Х1
Х1
ппз
ппз
X, лх2
X, лх2
введение конъюнкции
"Х|л^
введение конъюнкции
"Х|л^
X] А Л'2 —> Л'] V Л'2"a^,^VA-2| - _ =
J (Y| "^^З) а 'А1 лл2 VA-2
XI .х3I
X] А Л'2 —> Л'] V Л'2"a^,^VA-2| - _ =
J (Y| "^^З) а 'А1 лл2 VA-2
XI .х3I
силлогизм t^^^z^lz^z^iH^z^J
силлогизм t^^^z^lz^z^iH^z^J
снятие двойного озрццання
|-Х1Л^-М2 j-A^-i-»^
снятие двойного озрццання
|-Х1Л^-М2 j-A^-i-»^
соединение посылок
соединение посылок
13,х^л213,х^л2 _ппз_ _bsb^feira^ii}
13,х^л2
13,х^л2
2.9.10.
А = х ^ (х —> у), А(1,о)= 0, {у, у}|- А.
{г,у]:х,у,х->(у-»х) у^х ,(х-^{х^у))-^у
первая аксиома ППЗ..
ЬЬИ^ ^(у-*л) = |-(а—>(.т—»у))-
|-у-М
у (х -> (х -> у")\ (х -> (х -> у)) ; контрпозиция _ ППЗ |-(х-»(х-»у))->у|-у.|-у->(л-»(*-»у))
А(0,1)=1, ^, yj|-A.
^,у}.х,у,х^(у-^х^ у->^^у), х —> у , первая аксиома»(у—»х)ППЗ
Х.У|-Х->У
х^(х->у),л —> (л —> у)
х,х—»у,, । -снятие двойного отрицания
/(А,В)=(А->В)->(В-> А), А = 1, /(1,В)=(1^В)^(В^1)^ ^(l-^B)^l^l; А = 0, /(о,в) = (о->в)^(в^о)=1^(в^о), В = 1, /(0,1)=1 —>(1 —>0)= 1 —> 0 = 0. Формула / не тождественно ис- тинна. На рис. 7.1, а показано семантическое дерево этой формулы, а на рис. 7.1, б— поддерево, используемое для проверки истинности;
Рис. 7.1
б) /(A,B)=(AvB)-^ ((алв)у(вла)), А = 1,
/(1,В)= (1 v B)-o ((0 л B)v (в л 1))= 1 -о (о V в)= 1 -> В; В = 1, /(1,1)= 1—> 0 sO . Формула / выполнима;
/(А,В,С) = (A v В)^ (с <-> в), А = 1,
/(1, В,С) = (1 v в)-> (с с-» в)з 1 (с <-> в); В = 1,
/(1,1,С) =177^71), В = 0, /(1,О,С)=1ч^нО); С = 1. /(1,1,1)= W(0 <->!>!, С = 0, /(1,1,0)=1^(1^1)=0, фор-
мула выполнима. На рис. 7.2 жирными линиями выделен подграф, используемый по алгоритму Квайна;
/(аВ,с)= A v В-» (с <^ а), А = 1, /(l,B,C)=lvB^(c^0)al^(c^-0), С = 1, /(1,В,1)=1->(1<^0)=1->1 = 1, с = о, /(1,В,0)= 1—> (О«-^0)= 1 —>0 = 0.
Граф и его подграф, используемый по алгоритму Квайна, изображены на рис. 7.3. Формула не тождественно истинна.
Рнс. 7.3
f(A,B,C)= ^АлВ —> С)—> (а —> (В —> С)). Пусть формула / ложна, тогдаАлВ—>С = 1,А—>(В—>С)=0;
А = 1,В—>С = 0;В = 1, С = 0. Но тогда
АлВ—>Сэ1л1—>0 = 1—>0 = 0,ане 1. Следовательно, предположение о том, что / = 0, неверно, формула / — тождественно истинная формула;
f = А, -> (а,->...-> (а„_, —>(а„ —>Bvb))..). Пусть /=0, тогда А, = 1, а А, —>... —> (а„_, —» (а„ —> В v в))= 0, аналогично Аг=1, А3 —>... —> (а,., —» (а„ —> В v в))= 0 и т. д. Предпослед- няя импликация дает An_, = 1, Ал —> В v В = 0, последняя Ал = 1, SvS = 0. Но BvB = l всегда, следовательно,. предположение / = 0 неверно, т. е. формула / — тождественно истинная формула;
в)/(А,В)= (А —> В)л(а —> Z?)—> А.Пусть /=0, тогда
(А^В)л(а^в)=1,А = 0, А = 1;
А^В = 1, [В = 1, [8 = 1,
—< —<Получено противоречие,
А^В = 1, [В = 1, |В = 0.
т. е. / —тождественно истинная формула.
Покажем результат решения на примере трех аксиом: IjAIh и IV3 (см. формулы 2.1.1). Остальные аксиомы проверяются аналогично.
Алгоритм Квайна.
f^x,y,z^=^x-^^->z^^ ((х^у)-^ (x^-z)). х = 1, /(1,У,г)= (1 -> (у -> г))-» ((1 -> у)^ (1 -» г)), у = 1, /(1,1,г)= (1(1г))^ (1(1г)), у = 0,
/(l,0,z)=(l^(0^z))^ ^((1^0)^(l^z)) = l^(0^(l^z))=l, z = l, /(1,1,1) = (1(11))(1(11)) 31, z = 0,
/(1,1,0) = (1(10))(1(10)) 1, х = 0,
/(0,y,2)=(0->(y->z))^
—» ((О —> у)—> (0 —> z)) = 1 —И s 1, Формула /2 тождественно истинна.
Ш, :/(v)=i-»zvy. х = 1, /(l,y)=l^lvy = l, х = 0, /(0,y)=0^0vy = l.
IV3 ;f^=x -ax . X = 1, У(1) = I —> 1 г 1, x = 0, /(0) = 0^0 = l.
Алгоритм редукции.
h :/(х,У,г)=(х->(у-»г))^((х-»у)^(л-»г)). Пусть / = 0, тогда x -А (у —> z) = l, a (x—> y)—> (x—> z)=0, т. e. .x—> у = 1 и x —> z = 0, x = 1, z = 0 и у = 1. Однако в этом случае х —» (у —> z) = 1 —> (1 —» О) = 0. Получено противоречие, т. е. / = 1. Illj : f^x,у) = х —э х v у . Пусть / =0, тогда х = 1, х v у =0, [х = 0,
т. е. s что невозможно, т. к. х = 1. Предположение [у = 0,
/ = 0 неверно, должно быть / = 1.
=вf y — J
IV4: /(х)= х -а х. Пусть / =0, х = 1, х = 0, т. е. ’ По- [х = 0.
лученопротиворечие, следовательно, / = 1 -
а) согласно методу резолюций исходное соотношение r = {4vC,C-> В,В^ а}|-А-^ (В^С) преобразуем в множество Г, ={4vC,C^S,B^A,A^(B^C)} которое надо проверить на противоречивость. Составим множество дизъюнктов Г и применим теорему 2.10,
Г,' = {a v С, С v В, В v А, А, В, С }. Вывод нуля из Г/ может быть, например, таким:
resA^AvC,A^=C;
res(c,c)=0.
Итак, формула А —^ (В ^ С) выводима из исходного множества;
б) проводим вычисления аналогично пункту (а):б) проводим вычисления аналогично пункту (а):Г = {4 v С -> В, С -> А V В, ВС -> A v в}|- В -> С, Г, = {(avb)(cvb)avBvC,AvBvC,Bc}|-, Г/ = {(avb)^vb),
б) проводим вычисления аналогично пункту (а):
б) проводим вычисления аналогично пункту (а):
AvSvC,AvSvC,S,Cj]-. Найдем все резольвенты множества Г/ :AvSvC,AvSvC,S,Cj]-. Найдем все резольвенты множества Г/ :AvB vC,AvBvC,В, С-]]-. Найдем все|
AvSvC,AvSvC,S,Cj]-. Найдем все резольвенты множества Г/ :
AvSvC,AvSvC,S,Cj]-. Найдем все резольвенты множества Г/ :
res,(av В, Av Bvc)= BvC;
res^Av В vC,Av Вv c)= AvC ;
resa^AvBvC,B^= AvC ;
resA (/i v B, A vc)= В vC.
Дальнейший резолютивный вывод невозможен, т. е. формула В —> С не выводима из исходного множества Г;
в) Г = ^.Av в\-(.ВС)^ А.
Г, = ^7, A v В, (в —> с)—> а}= ^7, A v В, А л ^ v с)}|-,
Г/ = ^,Av B,A,BvcY
гы ^А v В, а)= В;
resB (b,BvC^=C‘
res(c,c)=0.
Формула (В —» С^—> А выводима из Г.
2.9,15.2.9,15.Г = {<4 v В v С v D,B,A v В v С, С, В v о}. Применим к этому множеству описанный в разделе 2.7 алгоритм проверки противоречивости множества хорновских дизъюнктов. После найденной очередной резольвенты укажем состав множества хорновских дизъюнктов.
2.9,15.
2.9,15.
res^B^A v Bv Cv £))= Av C v D, \AvCvD,B,"AvBvC,C,BvD\
resAc,AvCvD^=AvD, {avD.B.C.AvBvC.Bvd}-,
resB^B,BvD^=D, ^p.AvD.B.C.Av Bvc};
rex^D, A v £))= A, \a,D,B,C,Av В v с};
гелл (a, A v В v с)= В v С, ^vC,A,D,B,cY
resc(c,BvC^=B, {B,C,A,D}.
Во множестве {jB,C,A,D} нет дизъюнктов необходимого вида для составления резольвент. Следовательно, исходное множество Г непротиворечиво;
r = ^vBvC,A,B,c\
resA^A,AvlvC^=BvC, ^vC,A,B,c},
resc(c,Bvc)=B, ^,A,B,Cj;
гех(в,в)= 0. Исходное множество Г противоречиво;
r = ^vDvE,EvF,C,D,A,F\
resc^C,CvDvE^=DvE, ^v E,C,Ev F,D,A,7]:
resDtpvE,D)=E, \е,С,Ё v F,A,f\,
res^E.Ev f)=F, ^,E,C,D,A,f\,
res(F,F^=0. Множество Г противоречиво.
Глава 8
Логика предикатов
Ответы и решения практического занятия № 7
3.4.1.
, х2 + Зх + 2 п
—= U. Следует наити корни числителя и исключить из их
х" + 4х + 3
числа корни знаменателя, если они совпадут. Итак, х2 + Зх + 2 = О, х, = -2, х2 = -1;
х2 + 4х + 3 = О, X, = -3, х2 = -1. Следовательно, 1Р = {- 2};
[х2-13х + 40>0,[х<5илих>8,
,/„ = 0;
рх2+х + 30<0. I 0.
sin х = sin у , 2cos-sin— = 0.
22
cos-AA— = 0, х + у = л + 2пл;
sin—^ — = 0, х - у = 2пл.
Итак,
область истин-область истин-/(х, у)е Я2 /
область истин-
область истин-
Ах — у = 2ил)л(х + у = л + 2лл)
/ne Z
ности предиката изображена па рис. 8.1.
X
г) 1g х = 1g у, х > 0, у > О. — = 1, х = у.
У
л л г (рис. 8.2).
/ JUy)e.Ryр 1/х/ JUy)e.Ryр 1/хО, у >0, х = yj 1
/ JUy)e.Ry
р 1/х
/ JUy)e.Ry
р 1/х
Области истинности заданных предикатов изображены на рис. 8.3.
Рис. 8.3
^(MW
P^vQ^xY
P(x)vG(x)v«(x) V (р(х)л2(л) v P^aR^ Q(xV R^Y
Г) P(x)vQ(x).
\/л((л'2 -6х + 8 > o)v (jr2 -6jc + 8 < о)).
х2 - 6х + 8 = О, х, = 2, х2 = 4. Если х2 -бх + 8 >О, то х > 4 или х < 2; если же х2 - бх + 8 < О, то 2 < х < 4. т. е.
хе {(“^,2]u[4,+co)}u{(2,4)}. Таким образом, VxeT? исходное высказывание истинно;
Зх| х2 + х + — = 0 |. х2+х +— = 0, х,—± J—. Действи- (2)2 u 2 П 2
тельных корней нет. Так как область определения предиката совпа-
Г 21
дает с R, то высказывание Зх х + х + — = 0 ложно;
I 2 )
Vx(x2 -5х + 6 > о), х2 -5х + 6 = 0, х, = 2, х2 - 3.
12 Зак. 4306
Vxe{(x<2)v(x> 3)}. Так как на интервале 2 < х < 3 неравенство не выполняется, то высказывание ложно;
Эх((хб {2,5})—> (х2-6х + 8 = о)). х2-6х + 8 = 0, х, =2, х, =4. Зх((х е {2,5}) —> (х е {2,4})) = Эх(х £ {2,5}v х е {2,4}). Высказывание истинно при х = 2.
да;
да;
нет.
да;
нет;
да.
'
х0 — связанная, х, — свободная;
х2 — связанная, х1 и х3 — свободные переменные.
А = Wy$(x,y,y);
В = Зг(\/уР(г,у,у)лВ(г,г,х));
C = 3yS(y,y,x).
VxVyVz(S(x,y,z)^ S(y,x,z)), т.к. S(x,y,z)= (х +у = z), a S(y,x,z)=(y + x = z);
VxVyVzVuVvVw((S(x, у,и)л S(u,z,v)AS(y,z,w))—> S(x,H',v)).
Это вытекает из следующих рассуждений: S(x,y,u)= (х +у = и), S(u,z,v)= (и + z = v),S(y,z,w)= (у + z = w),
S(x,w,v) = (x + w = v),т. е.
((х + у)+ z = у)л(у + z = w)—> (х + w = v), (х + у)+ z = v = х + (у + г);
аналогично предыдущему пункту:
VxVyVzVwVvVw(p(x, у,и)а P(w,z,v)a P(y,z,w)—> P(x,w,v));
ЗхЗу(п(у)л х < у), где П(х) = Ё(х) л VyVz(P(y,z,x)^
-> (£(y)v E(z))), E(x)=VyP(x,y,y). x<y = 3zS(x,z,y), P и S из задачи 3,4.8.
Формула 3zS(x,z, у) с двумя свободными переменными х и у истинна тогда, когда х< у, действительно, если Зге N(x + г = у), то х < у. Предикат Е^х) = VyP(.v, у,y)=Vy(x-y)= у истинен при х = 1. Предикат П(х) истинен, если х — простое число. Это можно продемонстрировать на простом примере, например при х = 4 и х = 5.
П(5)= VyP(5,y,y)A VyVz(P(y,z,5)-> (VvP(y,v,v)v XhiP^nji^
= Vy(5-y = у)а VyVz((y ■ z = 5)^ (Vv(y ■ v = v)v Vh(z• u = u^^ = (у * 1)л ((y = 5,z = 1)—> (у = 1)л (z = 1))= 1,
П(4) = VyP(4,y,y) л VvVzHy. z,4) -> (VvP(y, v, v) v V«P(z, и,и))) =
= Vy(4- у = у)л VyVz((y • z = 4)—> (Vv(y ■ v = v)v Vu(z ■ и = »))) =
(fнапример, ))
= (у*1)л->(у = 1)л(г = 1) =0,
у = 2, z = 2 jJ
t. к. простое число делится только на единицу и на самого себя, а у составного числа несколько делителей.
Таким образом, бесконечность множества простых чисел выражается формулой ЗхЗу(П(у)а х < у), т. е. для любого xeN найдется такое простое уЕ N, что простое у и любое т не больше у . При подстановке предиката П(у) в исходную формулу, получим:
Х/хЗу(Зг5(П(у) а х, г, у)) = Vx3y(зг5(Ё{у) a X/uX/w^P^h, iv, у) —>
—> (s(h)v Е^^а х, г, у))= Vx3y(зг5(\/«Р(у,м,и)лa X/uX/w^Ptii'W^y)^ (e(u)v E(w)))^x,z, у)).
3.4.10.
- a ± Va2 -4a
х" +дх + й = 0, х12 =. Эх<0 подразумевает дей
ствительный корень. Корни квадратного уравнения действительны.
- если а' — 4а > 0, т. е. а < О или а > 4. Таким образом, высказывание истинно, если аЕ (— °°,O]lj [4,-к*>), и ложно, если аЕ (0,4);
Зле [а,а + 1](л2 -х-2 <о). х2 -х-2<О, -1 < л < 2 . Следовательно, если аЕ [—2,2], то х будет попадать на отрезок [—1,2]. Тогда исходное высказывание истинно при аЕ [-2,2] и ложно, если а > 2 или а < — 2.
,4.11. Рассуждение можно разбить на ряд посылок:
Любой разумный философ — циник;
Любой разумный философ — женщина;
Если разумные философы существуют, то существуют женщины, которые являются циниками.
Введем следующие предикаты: Р(х)={х является разумным философом }, С?(л)={л является женщиной }, 7?(х)={х является циником }. Тогда общая формула, соединяющая в себе все посылки, имеет вид (Ух(р(хЬХ*)Мх(^
>.4.12. Введем три одноместных предиката: Р(х)={х— политик }, Q(x)={x — лицедей } и /?(х)={х — лицемер }. Тогда все три предложения исходного рассуждения могут быть представлены в виде формул Vx(p(x)—э 2(л)), Зл(б(х)—> я(х)) и Зх(р(х)^ р(х)), а "перевод" всей фразы на язык логики предикатов будет иметь вид (Vx(p(x)^ Q(x))a3x(q(x)^ Р(х)))^ Зх(р(хН я(х)).
.4.13. Пусть одноместный предикат Р(х)= {х — глупец }, а предикат ^(х) описывает действие: ^(x)={x способен совершить что-то }. Тогда высказывание 3xW(a:) можно интерпретировать, что некто (возможно я) не может совершить этого действия, а высказывание ЗхР(х) означает, что некто не глупец. В целом исходная фраза может быть передана следующей формулой: (х/х(Р(х)—> n(x))a3xW(x))—> ЗхР(х).
i.4.14. Это утверждение заключает в себе много неопределенностей, связанных с отношениями субъектов и их свойствами. При обозначении предикатов будем интерпретировать эти свойства и отношения самым простым и понятным способом. Введем двухместный предикат
Р(х,у) = {х и .у - Друзья}. Будем считать, что Р(х,у) = Ну>х)> Т. е. если х — друг у „ то у — друг х .
Тогда утверждение, заключающееся в том, что для любой пары друзей найдется такой человек, что если он дружит со вторым из этой пары, то он дружит и с первым, запишется так: ЧхЧуЗ^Р^х.У^ Р^,£^-» Р(х,г\
3.4.15. Введем двухместный предикат Р(х, у)={х любит у}. Тогда первая часть предложения выражается высказыванием VxP(x,x\ а вторая— ЭхЗуР(л\у), Общая формула ^хР(х,х^^ЗхЗуР(х,у\
8.2. Ответы и решения практического занятия № 8
Vx(f(x)-> С(х))лЭл(ЁДлС(х)) =
^G^^aG^^ Тогда [ЗлдГ(т)л 1.
Перейдем к однотипным кванторам в обоих тождествах. [X/xF^v VyG(y) = 1,[Х/х"Лх) л VyG(y) = 1,
|зхЛ7)лЗуС(уН, [эхЁ^лЗуС^Н,
Ь.т/ААЗу<7Г7)=0,
}ЗхЕ(х)лЗуС(у) = 1.
\х/хр(х^Х/уС(х^У, fVxF(T)v VyG(x)^ 1,
Или л —1—г. .—^ т , -. —-—^
[ 3xF\x^A 3yG(x)ЕЕ ],[ 3x^v3yG(^s 1,
Jv.vfDv VyG(x)=l, [VxF(x)vVyG(y)=l.
Обеим полученным системам удовлетворяет следующее расположение области истинности предикатов F(x) и G(x).
Таким образом, IF С IG (рис. 8.4);
Рнс. 8.4
Hx^/^xJaTt^^aBx^^)—> G(x))^
= Vx(^) v С^)л Эх(?Д v G(x))= 1.
Vxte)vG^=l, 3x^)v G(x))= 1, ^
Vx^vVyG^-l,^ 3xF(x) v 3xG(x) = 1,
VxF(x)v VyG(y)sl, J VxF(x) v VyG(y) s 1,HxF(x)aHxG(x)=1, [ Vxf(x) a VxG(x)=0.
Итак, IF = 0, 1G —любое подмножество M (рис. 8.5).
Рис. 8.5Рис. 8.5
Рис. 8.5
Рис. 8.5
выполнима, если Р(х) — не тождественно ложный предикат;
невыполнима. Пусть 3(x = a)e^ такой, что выполнима формула Vy(<2(a,a)AQ(a,y)). Тогда выполнима и формула Q(a,a)A<2(a,a). Но Q^o^aJq^M?^^ - Получено противоречие. Следовательно, исходная формула невыполнима;
формула может быть выполнима на N, иапример, когда предикаты Q и R выражают следующие отношения порядка Q(x,y) = (х > у), /?(x,y,z)=(x+y >z). Пусть B^x^a^eN, что выполнима формула Vy((tz > у)—> Vz(ti + у > г)). Тогда, если
y~Z = a> то (й > а) —> (а + a > a) = 1 —> 1 = 1, т. е. исходная формула выполнима.
нет. Формула ложна на множестве N , если, например, Р(х) = {л'— четное число }. Тогда ЗхР^х')^ УхР(х)= 1 —» 0 = 0;
VxP(x) -> Зх?(х) = Vx?(x)v ЭхР(х) = ЭхРД v Зх?(х) =
= 3x(p^)vP(x))=1;
3xZ>(x) v 3xg(x)« Bx(p(x)v Q^ = ^3xP(x)v BxQ(x) -у
-> 3x(P(x) v q(x)))a (Зх(/>(х) v Q(x))^ 3x?(x)v 3xQ(x)) =
= 3x(p(x)v Q(x)) -> 3x(f(x) v e(x)) = 1,
ибо высказывание 3x(p(x)v Q(x^ принимает значение 0 или 1, a 1 —> 1 = 1 или 0 —> 0 = 1;
пусть Q^x, у) = (х < у), Л", у е N . Тогда высказывания 3xvye(^?)={ существует натуральное число .V такое, что для всякого натурального у истинно Л'< у } и VyHi'Q(x,y)= { для всякого натурального у найдется не превосходящее его натуральное х } истинны на N. Таким образом, формула Зл^у^С^зУ)-^ ^y^xQ^x,^тождественно истинна;
нет. Формула ложна на N , если Р(.х)= {х— простое число }. Тогда P(x)->VyP(y) = 1^0 = 0;
Нх(р(х)л(г -» й(х)))^ (vx^x)—> бй)^ г) =
= Эх^х) л fv Q(x)))v Vx(?(x)v2(x))v г = ^х^Р^ v (г л g(x)))v v (зх(р(х)л g(x)) v r)s "x/xP^v (г л VyQ^v ^ v Зх?(х))л л f v Зуб(у))= VxP(x) v ((г л Vv2(y))v ^ v ЗхР^х^л
л ((г л Vy£)(y))v (г v ЭуО(у)^. Но гл Vy^(.)')= г v VyO(y) = = rv3j-g(y). Тогда (rAVy^y))v(rv3yQ(y))=l и формула уп- рощается.
VxP(x)v (г л Vy£)(y))v |r v 3xP(x))s (vxF(x)v 3xP(x))v г v
v (г л Vy^Cv))- Однако Vx7^^= VxP(x) = 3xP(x). Тогда 1у^(глУуО^)=1, т. е, исходная формула тождественно истинна.
пусть на некотором множестве М данная формула ложна. Тогда ЗхР(х) = 1, VxP(x) = 0, т. е. ЗхР(х) = 0, VxP(x) = 1, что не может быть, если М ^ 0. Получено противоречие, следовательно, формула 1хР(х) —> VxP(x) тождественно истинна;
пусть на М данная формула ложна. Тогда на М Vx(p(x)—> 5Д)=1 и 3xP^)aVx5^) = 0, т.е. ЭхР(х)=1 и Vx^?(x) = 1. Выберем (х = а)е М такое, что Р^х^ = 1. В этом случае ^(а)->2(а)=1, т. е. 2(а)=1 и б(а)=0, что противоречит Vx£)(x) = 1. Таким образом, исходная формула тождественно истинна;
доказательство полностью аналогично приведенному в предыдущем пункте. Пусть на М формула Vx(p(x) —> Q(x)) —> (VxP(x)a3xQO ложна. Это значит, что Vx(p(x) —> Q(x))= 1, a VxP(x)=l и 3xQ(x)=l. Тогда должно быть Р^—^О^ = Х, т. е. Р(о) = 0, что противоречит VxP(x) = 1.
а) доказательство аналогично приведенному в разделе 3.5 для формулы VxA(x)= ЗхА(х). Рассмотрим на М множество значений связанной переменной х и свободных переменных хрх2,...,хп предиката Р и выясним, какие значения принимают формулы SxP(x) и Vx^) на произвольном наборе свободных переменных а1,а1,...,ав е М .
1) Vae М />(-4о1) Vae М />(-4о= 1, Лп= 1, Лп2) 3«„ е2) 3«„ еМ Р(х]|М Р(х]|"0-°1-"2"0-°1-"2= 0...«и= 0...«и
1) Vae М />(-4о
1) Vae М />(-4о
= 1, Лп
= 1, Лп
2) 3«„ е
2) 3«„ е
М Р(х]|
М Р(х]|
"0-°1-"2
"0-°1-"2
= 0.
..«и
= 0.
..«и
В первом случае \faEM ^(^^„ п п =^> тогда по определению
3xP(xJn д =1 и ЭхР(х)|я д =0. С другой стороны, т. к.
;((»‘z)9 л(£х)^)"АгЕ'<Е^А =
= (n ‘z)5n Д2Е л (-Cx^^a = (г< ‘х^дхб л (/CAW^'A = = (А‘х)5лдхЕл(£х^(ахЕ = (.4 ‘х)54дхе ^(АА^-Гдл^ (j
‘.((z‘x)5 л(4‘x)c/)zA/CAxE = ((z‘x)5zA л(4“х)(/Аа)хЕ =
= ((/Сх^д л^Гх^лд^ = (Л-‘х)5,СдхЕ л(А‘х)^дхе (я
i((/f‘z)5v(X‘x)<7)XAzExE=((,<-z)5<<Av(,C‘x)</1fA)zExE =
AA‘z)5^azEу^А^Гдхё А^‘хА<АхЕу^'А^дхе; (g
Ц^лд^н^д^хд^р^<в
'9Л£
EiBMHiradu xhhhow -adau xiaiiVogoao мохэииэ инюХиэн о одтэчи’ЭТЕЕЕХоУ qxMdoxaou xXj -OW 9ИтСНЕИ9)К OUhHJOKBHB KaX9BHMdXElN00Bd ИЕЬХКЭ ModoXQ 0 = 3 ивоа ‘o = (jv(x)cz)xA и ! = □ ииаэ q = (3 v(x)cf)xA bITjoi
I— (A)</ 01 I—(Л)</ЛА ииээ ‘ончнахиахэноУ "винэнене aiqHhWJou -вне lawndu И1эвь yoaEdu a BtrXwdo^) • q = 3 v(^)</xa 0L ‘ 0 — 3 эж И1ГЭЭ ‘ I = Э ^^.г^гд oi 'l^j инод '1=^*^^ эвиХеэ woadau g o = 3 и™ r = 3 ‘о=(л')</ и э»д (г ‘0 = 3 ™и 1 = 3 ‘1=(х)с/ w ЭОД (I :квьХиэ ваВ яхвио 1янжои1£оа чоа^ иохэХи j EiBMHVadu xiaHHaiMadau xiaHfogoao моэиио bitjoji ‘ивь -Xifo WHdxowooBd и darowdi] wtiiaodux ‘(зv(^j)xa = □ v^x^j^a (g
:(^J^A=(^E
aiKuo ‘ончкахвяоКанЭ [= ° "K^J^A 31‘(у)^
ОННИХЭИ X OJOMEOH BLfV OXh ‘XtMOX OH4LfH9OHaEd oig оннихэи (x^j oj -odoxoM e№ ‘x иоявх кохаГивн охн ‘ondaaaH 'a ’i ‘] = " ° и(х)</^Е №jol ■ o = [r)^xE O1 0 = v)d э УЕ эж ИШ)Э ■(x^-a'A=(^№
‘MOEBdgo ИИЯЕ1 0=" " "K^^A OL ‘1= " ^ '^Y^^A
SS£SS£BOieXHtfadu bmhjou g eeeuj
SS£
SS£
= 3rV^^)ve(yj)v ^vf^ = ЗхУу((р(х)л 2(y))v V^MaP^));
е)е)Vx(p(x) ^ Зуб(у))=Vx(p£)v 3y2(y))s Vx3y ^) v 2(y)).
е)
е)
Vx3yQ(x, у) -> 3xVyg(x, у ) s Vx3yg(x,y) v
v Vx3yQ(x, у) = 3xX/yQ(x, y) v ЗхУуО(х, y) =
= 3x(vy2(x,y)v Vz2(x, z))=
S 3xVy Vzf^xTy) v Q(x, z));
Bx^P^ -> (Vy2(x,y)-^ Vz«(x, z))) н
= 3x(p£) v (Vy2(x,y) v Vztf(x, z^=
3 Зх(рД v (3yc(x,y)v 4zR(x, z)))=
3 3x^x)v 3yVzls(x, y)v R(x, z)))s
= ЗхЗу^г^Р^м Q^x, y)v7?(x,z)).
Xlx^x^ 2(^)) -^ (VxP(x) Vxg(x)) =
= Vx(^)v g(xj)v (vxP(x)v VxQ(x))= 3x(p(x)a Q^)v v (3xP^)v VxQ(x))= Эх(рД v (р(х)л Q^))v VxQ(x) = = 3x(p^)vQ^)v Vx2(x)= ЗхРД v 3xQ^v Vxg(x) = s 3xP(x) v VxQ(x) v Vx2(x) = 1 v 3xP(x) s 1;
Vx(p(x) ^ 2(x)) ^ (3xP(x)^ 3x6(x)) = 3x(p(x)a ^)v v VxP(x)v 3xg(x) = 3x(j2(x)v (p(x)a Qtx^v VxP(x) = = 3x(Q(x) v P(x)) v VxP(x) = 3x^(x) v 3xP(x) v 3xP(x) = 1;
Vx(g -> p(x)) «-> (q VxP(x)) Э
S (Vx(g -> P(x))^ (q VxP(x)))a
л (fa -> VxP(x)) -^Мя -> Р(х)))) = ^(7 л рУ)У q v ^Р(х))л л ((</ л 3xP{x))v q v ЯхР^х^= У v <?)л^ v axP^v УхР^х)) = в v VxP(x)v Х/хР^У q v 1 = 1.
эа^-^рИЬ^)-»^)^^
- 3ay(№v Р(у))л № v Р^)лР(х)) = ЭхЭу^ v Р(у))л
л (№л Р^У (^)л Р(х)> ЭхЭу((рйV Р^л Т^л Р^У
= зхау№лр(у)У У^лг^У р(х)У
= ЗхЭу (рД л Р^) Л Р^У 0.
Рассмотрим сначала простой пример формулы А и продемонстрируем механизм преобразования формулы к требуемому виду. Пусть А = Эх/](х)л (vy^v W<(z}) = Эх-71 Мл VyVz(/^)v Р^. Те- перъ вынесем все кванторы в начало формулы и кванторы всеобщности преобразуем в кванторы существования с помощью соответствующихэквивалентностей:
A = 3xP, (xV VyVz(p,(y)v Р,^У ЗхЯуЯ^У (л)л(^U)v Р3(z)))=
MyVZ(p,(x)A(^)v7^(z)))S My3z(^)v(p2(y)A^)))= В.
В общем случае, если подформула А, формулы А имеет вид 3(vM(x,,x2,...,x„,y), то необходимо привести А,(х|,Х2,...,х„,у) к виду v(aA,j) или л(у Ау), где каждое Ау начинается с квантора или имеет вид Р^ или Р(и) для некоторого Р из ст и переменной и . Далее, используя необходимые эквивалентности, получаем формулу В .
8.3. Ответы и решения практического занятия № 9
Vxe PVye R^x> y)v (у > хУ
Vae АЭх„,е К(а<х„У,
Vx, е М Ях2 е M...\lxk е М За! е /?Эа2 е R...За, е
g R((a, + a2 + ... + at * о) л (a, х, + a2 х, + ... + at х, = о));
VaG R3VfcG R3(^,fc)=o);
limx„ = x « Ve >03w(e)>0Vhg N(^n > ZV(e))—>|x„ -x| < e);
VneAT(x„+] >x„);
Ve>OHW(e)>OV71,/>^eX|x„ -x,|<e);
376 R\{O]Vxe м((х±T)a (/(x ±T)= /(x)));
Vx, G MVx2G M((x, < x2)—> (/(x, )< /(x2)));
Ve > 03w(e)> OVxg m((x > Х(е))^|/(х)-Л| < e).
Признак имеет стандартную структуру VxG М(Р(х)—> S(x)). Посылка и заключение импликации имеют вид
(х(1 > хп+1 > 0)л^ Нт хн =0^ и ^(- 1У"+1 хя = 5. В целом признак можно записать так:
Vn G N(x„ > х„+1 > О)л( lim х„ = 0^ 3$ е R^(-1F'^, = ^J ■ Выражение Нтхя =0 можно расписать подробнее, например, так, как это сделано в задаче 3,9,1 (10).
VyG [a,Z>](VE>035>0VxG м(о<|х-у|<8^|/(х)-/(у)|<е))^ 3Wg R+Vxg [а,й](|/(х}| < N\
((VyG [a,Z>](VE>O38>OVxGA/"(o<|x-y| <8^|/(х)-/(уЛ <С)))Л л (Vx G (a,b)3/z (x) * ~)л (/(«)= /(6))^ 3c G (a, b^f (c) = o).
Vy G [o,Z>Xve > 038 > OVx G Л/(0 < |x - y| < 8 ^ |/(x)-/(у) < e)) 3cG [a,6^J/(x)dx =/(сХЬ-а^\
(((Ve > 03^(s) > OVn G 1ф > Me)) |x„ -x| < e)) |x„ - x| < e)
(Ve >0^(е)> OVh,/ >^еХ|л< -xj <е)))а
л ((Ve > 0^(е)> О W > ^е/|х„ - х,| < е))-> (Ve > О^(е)> OV/z > N ^П> N^^X^-X^^
Исходное утверждение имеет вид V/e Г(р(/')—» Q(/")), где P(f) — предикат, выражающий интегрируемость f(x) на отрезке [г/,/?], a QV) определяет свойство монотонности этой функции на [а,/?]. Перейдем к противоположному выражению MfEF^VOT^Je F^^^- Таким образом, чтобы доказать несправедливость исходного утверждения, необходимо привести пример любой функции, которая была бы непрерывной на [tf,b], но немонотонной на этом отрезке. Такую функцию найти нетрудно, например, у = х" на отрезке [-1,1] удовлетворяет заданным требованиям (рис. 8.6).
Рис. 8.6Рис. 8.7Рис. 8.6Рис. 8.7
Рис. 8.6Рис. 8.7
Рис. 8.6Рис. 8.7
4feF(P(f)^Q(f)\r№ ^(/)= (/"(хо^о), QU'V^-точ- ка экстремума функции /(х)}. 3f G p(p(f )^Q(f)) — существует функция, имеющая в точке х0 вторую производную, равную нулю, но не имеющая экстремума в этой точке. Например, у — х . у" = 6х, у"(0) = 0,но х0 =0 —точка перегиба графика функции, а не точка экстремума (рис. 8.7).
^JeF^^Q^.P^VMограничена на отрезке [а,/?]}, е(/)={/М интегрируема по Риману на [а,б]}. Э/е ?(р(/)лёЦ)) — найдется ограниченная на [а,й] функция, не интегрируемая по Риману на этом отрезке. Рассмотрим функцию */ \ I ^»х— рациональное,
Дирихле D(x)=<Она ограничена на
[О, х— иррациональное.
[a,b], но не интегрируема по Риману. В самом деле, для любого разбиения отрезка [a,b] при рациональных х{ соответствующая ин
тегральная сумма равна b — a, а при иррациональных— нулю. Поэтому не существует предела интегральных сумм при h = Xj —xi4 —> 0 и, следовательно, функция Дирихле не интегрируема по Риману.
3/ef(p(/)AQ(/))— существует дифференцируемая в точке х0 функция /(х), не имеющая в этой точке локального экстремума. Если /(х)=х3 и х0=0,то /z(0) = 0,ho хо=О—точка переги
ба (рис. 8.7),
3feF^P(jyQ(f^— существует функция, представимая на отрезке [я,^] рядом Тейлора, но этот ряд не сходится к /(х) во всех
точках этого отрезка. Такие функции существуют. Например, рас-
смотрим /(х) =смотрим /(х) =1
смотрим /(х) =
смотрим /(х) =
е »х^» Эта функция бесконечно дифферен- 0,х = 0.
цируема. При х^О это очевидно. При х = 0 производные вычисляются по определению. Оказывается, что /^"\о)=О при п>0. Поэтому все члены ряда Тейлора для функции /(х) при х0 =0 обращаются в нуль. Ясно, что получившийся ряд не сходится к функ- ции /(х).
ЗА^А^О^ — найдется такая формула логики предикатов, которая будет выполнима, но не общезначима. Например, ВхР(х). Значение этого высказывания зависит от области истинности IР
Глава 8. Логика предикатов 36У предиката Р(хУ Формула ЗхР(х) выполнима, если Р(х) — не тождественно ложный предикат, т. е. если 1 р ^ 0 , однако не общезначима.
Р(х)={ в четырехугольнике диагонали взаимно перпендикулярны }, 0(х)= { четырехугольник — ромб }. Vxe М ^Р^—> Q^x^ — основная теорема неверна, ибо легко можно представить трапецию с взаимно перпендикулярными диагоналями (рис. 8.8).
Рнс. 8.8
Обратная теорема Vxe М^^—> ^(х)): если четырехугольник — ромб, то его диагонали перпендикулярны. Эта теорема верна и является одним из признаков ромба.
Противоположная теорема Vx£ м(р(х)^^(х))— если у четырехугольника диагонали не перпендикулярны, то это не ромб — тоже верна.
Обратная к противоположной теорема VxG м(^(х)—> Р(х)): если четырехугольник— не ромб, то его диагонали не перпендикулярны, — неверна (рис. 8.8).
MfeFWHQlAY Р<Л=Ш непрерывна на [а,&] и f(a)< 0,/(b)> О}, Q^f^=3ce(a,bXf(c^)=0y Это верная теорема, она выражает одно из свойств непрерывных функций и имеет простой геометрический смысл. График непрерывной функции, соединяющий точки («,/(«)) и (б,/(б)), где /(а)<0, а Z(0>° пересекает ось ОХ по крайней мере в одной точке (рис. 8.9).
Обратная теорема V/ е F^Q^f^^> Р(/)): если между точками а и b найдется точка с, в которой функция обращается в нуль, то функ-
ция непрерывна на отрезке [a,b] и принимает на его концах значения разных знаков. Эта теорема неверна, что хорошо видно на рис. 8.10. Противоположная теорема Vf £ f(p(/)—>0(/)): если /(х) разрывна на [fl,b] и на его концах не принимает значения разных знаков, то не найдется точки сЕ (a,b), в которой /(с)=0. Эта теорема также неверна, что демонстрирует рис. 8.10.
Наконец, обратная к противоположной теорема X/feF^V^PV^'если нет точки сЕ (a,b), где /(с)=0, то функция /(х) разрывна на [й,^] и не принимает на концах отрезка значения разных знаков. Это верная теорема. Различные случаи описанной ситуации (когда неверно следствие теоремы) показаны на рис. 8.11.
Рис. 8.11Рис. 8.11
Рис. 8.11
Рис. 8.11
V/е F(P(f)^Q(f)), P(f)= VW дифференцируема в точке «о}, eU^VW непрерывна в точке х0}. Исходная теорема верна, она выражает одно из свойств дифференцируемых функций.
Обратная теорема V/£ F(Q(/)—> Р(/)): если /(х) непрерывна в точке х0, то она и дифференцируема в этой точке. Эта теорема неверна (см. разд. 3.8. и рис. 3.10).
Противоположная теорема Vfe F^/)-)^^)): если /(л) не дифференцируема в точке х0, то она разрывна в этой точке. Это утверждение тоже неверно (рис. 8.11). Непрерывная функция не имеет конечных производных во всех угловых точках и точках возврата.
Обратная к противоположной теорема V/'е F^^f^)-^ P(f)]: если /(*) разрывна в точке .г0, то она и не дифференцируема в этой почке. Это верное утверждение.
Vye Р(р(/Но(Л\ PU ^^ дифференцируемая гМ имеет в точке Л'() локальный экстремум }, е(/)=(/'Д0)=о).этоверная теорема, она составляет необходимое условие экстремума.
Обратная теорема V/ е ^^(у )—> PQ^: если /'(л^О, то в точке х0 f(x) имеет экстремум. Теорема неверна (рис. 8.7).
Противоположная теорема V/ e Л^^)—> ^(/)): если в точке Л'о / (х) не имеет экстремума, то /' (л0) ^ 0. Это угверждение тоже неверно, что подтверждается тем же рисунком.
Обратная к противоположной теорема V/ Е l: ^}(,[) > P(f))" если f'^x^^O, то в точке Ло нет экстремума функции /(х). Теорема
верна.
V»e Л^(р(м)->2(“))'Р(») = ( РЯД У^и„ сходится },
Q(k) = |^ Ншия =^1- Основная теорема верна, в математическом анализе она называется необходимым признаком сходимости ряда.
Обратная теорема ЧиЕ M(q(u)—* Р^У- если предел общего члена ряда равен нулю, то ряд сходится. Это неверное утверждение.
Рассмотрим гармонический ряд У- - Известно, что этот ряд расхо-
дится, но lim— = 0.
Противоположная теорема Vz/ Е И ^Р^ —> О^У): если ряд расходится, то Пти„ ^0. Несправедливость этой теоремы демонстрируется тем же примером.
Обратная к противоположной теорема X/uE M^(u)^> Р^)’. если Птил т^О, то ряд расходится. Теорема справедлива и известна под названием практического признака расходимости рядов.
Даны два предиката ^(х) = { два треугольника равны } и 0(х)={ все углы одного треугольника равны соответствующим углам другого }. Рассмотрим формулу
УхеМ(р(х)^»2(х)>
=^Vxe М^Р^х)^!2(х)^л^Ухе M^Q^x)^p(x)^
треугольники равны.Предикат 0(х) для Р(х\ таким образом, является необходимым, но недостаточным условием. Следовательно, исходное предложение должно быть сформулировано так: для того чтобы два треугольника были равны, необходимо, ио недостаточно, чтобы все углы одного треугольника были равны соответствующим углам другого.треугольники равны.Предикат 0(х) для Р(х\ таким образом, является необходимым, но недостаточным условием. Следовательно, исходное предложение должно быть сформулировано так: для того чтобы два треугольника были равны, необходимо, ио недостаточно, чтобы все углы одного треугольника были равны соответствующим углам другого.Первый логический сомножитель VxE M^pfx)—> С^)^— очевидно, верное высказывание. Второй сомножитель Ухе M^Q^x)—> Р^х)^ — высказывание ложное: если все углы одного треугольника равны соответствующим углам другого, то эти
треугольники равны.
Предикат 0(х) для Р(х\ таким образом, является необходимым, но недостаточным условием. Следовательно, исходное предложение должно быть сформулировано так: для того чтобы два треугольника были равны, необходимо, ио недостаточно, чтобы все углы одного треугольника были равны соответствующим углам другого.
треугольники равны.
Предикат 0(х) для Р(х\ таким образом, является необходимым, но недостаточным условием. Следовательно, исходное предложение должно быть сформулировано так: для того чтобы два треугольника были равны, необходимо, ио недостаточно, чтобы все углы одного треугольника были равны соответствующим углам другого.
Правильными называются такие многоугольники, у которых все стороны и все углы равны. Введем два предиката с условным аргументом х: Р(х) = { все стороны многоугольника равны } и 0(х)={ этот многоугольник правильный }. Тогда
Ух е М (р(х) <-> <2(х))=
Г Г 4 f W ( Г А С W
= Ухе Л/ Р(х)—>Q(x) л Ухе Мл Q(x)^P(x) .
Первое высказывание Ухе М^р(х) —> <2^)^ ложно, примером может служить ромб; второе высказывание Ухе М\ Q^x)—> Р^х)!
истинно. Таким образом, исходное утверждение имеет вид: для того чтобы все стороны многоугольника были равны, достаточно, но не необходимо, чтобы многоугольник был правильным.
Сформулирована известная теорема векторной алгебры. Пусть ^(х)={ два вектора в R2 линейно зависимы } и 5(л:)={ два вектора коллинеарны }. Тогда VxG М^^)^ Нл)^— верное высказывание, высказывание V,vG М\ Qyx)—^ Р\Х) тоже истинно.
Следовательно, исходная теорема звучит так: для того чтобы два вектора в R2 были линейно зависимы, необходимо и достаточно, чтобы они были коллинеарны.
Достаточно, но не необходимо (сл<. разд. 3.8, пример Л.
Необходимо и достаточно (см. п. 3).
Глава 9
Исчисление предикатов
Ответы и решения практического занятия №10
Найдем все 0, =9;. О, = {(1|.х|,12|.х2,13|.х3}= {р, (Д.Х, F2(.x, z)y,ci|z}' 02 = {‘71|Ур?2|),2,91|хЛ= Шр! (4 У^. Fl СУ- F, №} Сначала получим множество {^Ух^ДУЛзЭг^У.Ур^Уз^Ы рМАрМу\р^уДх,Р^^^Из этого
множества надо вычеркнуть все элементы ^б,^. для которых 1,^2 = х^, и все элементы <7,|?С гакне. что у, е {.т, ,лу,...,ду }.
В нашем случае f,02 = Fx ^Fx (с, ))^ д^ = л*,
Г262 “ ^(^(^(а-), У1)^^))^ -v2 ~ У 11 С^з “ ci л"з “ 7 ■ Однако у, = а, = .V. следовательно, выражение F,(FX (л), у^х надо вычеркнуть, аналогично у, = х2 = .у , т. е. Fx (<?] )у| надо вычеркнуть, н у3=л3=2,т. е. Т7;^^ вычеркиваем. Окончательно, 0,62 = {F, (F, (с, )^r, fAfM (л), у), F, «v.cjz}.
О, = 93;9, = {-Д, ,/2|.х2,4х3}= {Г, (у|х,fA-v,z)y,c,|z},
°з = {'7||У1^/2|У2.‘7з|Уз}= {^yi'-^l.iy11!2}- Находим множество {'’19з^М29зк^з0зК^у1-92|У2,9зЬ'з} =
= 1т (с2 V' Fi (F. (с, Txjy.cjz- FAc, y,c2,y,.r|z}.
t,03 ^/cj*^ = *, ^03 " ^(^ifci)^)^-*! = У ’ *393 = С| *лз =2» у] = %) = х, т. е. F2(c] }х вычеркиваем, У2 = *2 = У » с2|у вычеркиваем, у3 = х3 = z, x|z вычеркиваем. Тогда е,03 = к (с, ]л, f2 (f2 (с, V^,c, |z}.
° 0д; 6, = G |^i, <2| Мзк 1=k G k Fi G, Ф • ci Ik
64 =кЬ|>?2|?2^зЬз}= {уМу.ф}-
Отсюда 6)0» =^б4|х|,Г294|*2,,зб4|л:3’91|У1>92|У2,9з|Уз}=
= {F,(z)|x,F2(y,x)|y,cl|z,y|x,z|y,x|z}.3flecb ?,04 = ^(г)*х, = x, Ч^4=Р2^,х^хг=у, t304 = c, *x, = z; y, = x, =x, y|x вычеркиваем, y2 = x2 = у , z|y вычеркиваем, y3 = x3 = z, x|z вычеркиваем. Следовательно, 6,04 = ^ (z)|x,F2(y,x)|y,cl|z}. 02 0 63: e2 = [1|уI • 'г|У2.гзIУз }= k (Fi (4 У к Fi Gi V’ Fi GG^ 63 =к|У1-?2|У2-?з|Уз}= к2кк,с2|у,ф}.
6263 = кез|л:1./2езк2-Гзез|л:3,»1|У|, »2|У2,9з|Уз} =
=к к к Gi Л=г V-Fv (с J у - Fi GG’ Fi Gi к сг I у • Ф)- t,03 = F2(F1(F2(c,)^c2)*x] =x, t2e3 = F^c^* x2 = y, Z363 = Ft(x^x3 = z ; yx=xt=x, F2(c} ]|x вычеркиваем, у2 = x2 = у , c2|y вычеркиваем, y3 = x3 = z , x|z вычеркиваем. Отсюда 0203 ^^(FXF^cJ^x.F^cJy.F^^^ 92 0 84:92 = GGi - гг|у2 ^з|Уз 1= kGi G), УG’Fi Gi G’Fi GG)’ 64 =к|У1-9г|У2,9з|Уз}= {уМу-х12}- 6364 =G64Gl,f204G2-r3e4G3^l|yi,?2|y2.?3|y3} = kk G^zJx.F^c, Лу, F, (x)z, y|x, z|y,x|z}.
t|04 =F2(F1(y),z)*x1 =x, Г204 = ^(с,)*х2 = у,
Z364 = Fi (x) ^ x3 = z; у t = x, = x, y|x вычеркиваем, y2 = x2 = у , z|y вычеркиваем, y3 = x3 = z, x|z вычеркиваем. Таким образом,
0з °64 : 9, = ■&!bi^г|.У2>Гз|Уз} = fck кс2кф}>
64 ^h’^k-^kk {уМу^Н-
езе4 = £1О4кЛ04|^304к^|к’42к,'7зк} =
= к к к с2к ук ук к у - ф}
^0» = ^(cj^x, = х, Z204 = с2 * л2 = у, г304 =у*х^г;
V] = х, =л, у|х вычеркиваем, у2 = хг = у, z|y вычеркиваем, у3 = х3 = г , л|г вычеркиваем. Итоговая подстановка 6394 = kk Jk^kyH-
а) воспользуемся алгоритмом унификации, описанным в разделе 4.8. Ро = г = W-xMf, ЬЖЛ^Я-
k = 0, Ро — исходное множество, 0/>о — Е;
Ро —неодноэлементное множество, Do = {с, z};
0 = -k|z}, 91=0P„0 = t|z},
р, = ро0, =\p(c,x,f.Af^^
^ = 1, Pt —неодноэлементное множество, Dv ={-^, ^(^Ж
хе ^(с);
0=kkH 02=0,0=tkf2(cH
Рг = Р.0 = kk f2 (k ^2 kk))). PV, F, (c^ F, («))];
k = 2, Рг—неодноэлементное множество, D-, = {^ (у),и};
ueFx(y\,
0 = {/7lk)|“} 6з =028=kz’F2(ckFikk};
P3 = P29 = k(c, F. (k F2 k (y))), P(c, F2 (c), F2 (/• (U)))} = ^WMdF^W-
P3 — одноэлементное множество, 03 =кг./?2(ск/7|к^} НОУ для Г.
б) Ро^НШ^МЫу.у)}.
к = О, Ро — исходное множество содержит два элемента,0^=8;
о^р^Ы;
уеР^У
e = Mb} е^е^Ш
Pl = Р061 = Hp. №\ p(p. (0- P.0)};
k = l, Px— неодноэлементное множество, Dx ^/^(л)./^^)}, Dx не содержит переменных; конец алгоритма, исходное множество не унифицируемо.
Ро = Г = {р(с,х^р(с,с)}.
к=0, Ро —неодноэлементно, 0^ = е;
О0={х,с};
хе с;
0 = -^|х}, 0, = 0Ро9 = {фг},
Р, = РА ЧР(е,^Р(е,с)}={Р(с,с)};
к = 1, Р, —одноэлементное множество, 0, = {э|х}— НОУ для Г.
г) Р0 = Г = Н-ЬРМ)1Р(^у)}-
к =0, Р^ —исходное множество содержит два элемента, 0^ =8;
D0={r,y};
хе у;
0 = {г|у}, 01=0Рп0 = {г|у}, P^^e^H.^fWl^.x-.x)};
к = 1, Рх—неодноэлементное множество, Dx = {f(x),x};
xef(x),исходное множество не унифицируемо.
Д) Ро =r = {p^p1(^y).p^z)|p(«-pl(c>z))]-
к = 0, Рй — исходное множество содержит три элемента, 0Ру = е;
О„ = {и, у};
и £ у ;
0 = {i|y}, 9, =9Ро9 = {и|у},
Р^РА = {f(m,F, (хД F(u,z\F(u, F, (с.г))};
k = 1, Р, —неодноэлементное множество, О, = {F,(л\//}“},
ZgF,(x,u);
9 = {^(х.и^г}, 92 =9,0 = ^/|y,F, (х,н)|г},
Р=№ = ^«ДхДр(иДхДр(иДсДхДй=
= {f(w,f;(x,u)),f(u,f;(с,/;(%,«)))};
к =2, Рг—неодноэлементное множество, О,={х,с};
xtc;
0 = 4jx}, 03 = 0,0 = {ujy.F,(х,и1г,с|х},
Р. = F,9 = {f(h, F, (с,и)), f(u, F, (c.F^x.k)))];
k = 3, Pj —неодноэлементное множество, D3 = {w,F, (x,«)};
4.10.3.4.10.3.и e F, (x,/i), исходное множество не унифицируемо.
4.10.3.
4.10.3.
А = P^v F(F(y))v F, (х\ Найдем НОУ для первых двух членов формулы А. 9 = {f(v)x},
А9 = p(F(.y> р^Д^Му)^ Р^ДуГМу')')- АО — склейка А ;
A = P|(x)vP2()i)vPi(f(x)). 0 = {f(jv)|a}, .хе F(x). Формулы
Р\ (х) и Рх (f(x)) не имеют НОУ, формула А не имеет склейки;
A=F,(x)vF2(y)vFl(F2(C))vF,(Z)vF2(z). 0 = {f2(c)x},
А9 = F,(F2(c))v F2(y)v F,(Z)v F2(Z)— первая склейка A ;
^i ^кгН^} Л$01 = F^Ac^v F2(y)v Р2(Р2(с)) — вторая склейка А; 02 -{f2(c^}, A00j02 = F,(F2(c))vF3(F2(c)) — третья склейка A.
Вх = Рх (х) v Р2 (х), В2 = Рх (c)v Р3 (х). Дизъюнкты имеют общую переменную х, заменим ее на у, получим В2 = Pl(c)vP3(y). Тогда А, = Рх(х), А, = Р, (с), А, = Р,(с), 9 = {с|х}, 8,9 v 8'9 = 8, (c)v Р2(с^ Р,^РМ res(B„B2)=P2(c)vP^yY
В, = Р^хУу Р2(х,х\ Вг = В2(с,р(с)). Общих переменных в В, и Вг нет. А, = Р2^х,х\ А2 = Р2(с,р(с)), 0 = {?|х],
В,0 vB20 = ^(c)v P2(c,c)v д(с,р(с)), О, = {f(c)|c}, се F^c\ Множество дизъюнктов {В,, В2} не унифицируемо, следовательно, не имеет резольвент;
B,=P(a)veW. B2=B(x)ve(B,y). 0 = {a|x}, в,е V В2е = Р^ Q<a,b^ Р^ Q(b, у), res(B1,B2') = Q(a,b')vQ(b,yY
Fx = VxVy(^(x,y)^ Р2(х,у>^у^х,у^ Р2(х,у)\
F, = VxVy(p2(х, у)-> Р3(х,у)) = VxVy(^(x, у)v Р,(х, у)),
Г3 = 2хЗуР| (х, у). Отбросим кванторы всеобщности, а переменным, связанным квантором существования, присвоим конкретные значения: х = а, y = b, F3 =Px(a,b\ Получим множество дизъюнктов Г = ^(x,y)v Р2(х, у\рг(х, y)v Р,(х, у\р, (а,в)}, которое надо проверить на противоречивость методом резолюций.
rei^(x,y)vР2(х,у),Р1(а,в))=? 9, ={z|x,6|y},
res = ?,(_«,b\v P2(a,b)v Px(a,b)- P2Qi,b\ res(p2(a,Z>),P2(x,y)vP3(x,y))=? 0, ={z|x,6|y}, res = P^a^^v P2(a,b)v P3(a,b) = P3(a,b).
Других резольвент у множества Г = {^i.^»^} нет» поэтому резолютивный вывод нуля из Г не существует. Следовательно, исходное множество формул Г не противоречиво;
Г = ^ (с,, /(с2 ),/(сЗ )), Pl (с| \ Pl к х, /№, у, z) v Р3 (х, z\ Р2 (х) V
V Р, (у, г, и) V Р3 (х, u) V рз (х, у ) V Р3 (х, z} Р3 (с,, с3 )}=
= {^1-^2, ^З--^4.^5. ^б}-
r«(F2,F5)=r«<F2,F2{zbJ=? 0, = Ш
^2°! v ^5{z|y}61 = Pi.Mv P^'V P^.Z^V
vP3(c,,u)vP3(ci,z)vP3(c1,z)=P1(z,z,h)vP3(c,,u)vP3(ci,z)=F,.
res^F3,F1V)- 0, = {x|z,/(x)|u},
F30, vF,0, = Px<x,xJ<x^ P^xJ^z PAXJ^
v P^c,,*^ Р3(с„^х^ P3(cx,x)=Ft.
res(F6,F8)=? 6, = ^3|x],
F.^v FA = P.kx--:>(c,)) v P3 (C|, c3) = P3 (c,, /(c,)) = F,.
res(f4,F9)=? 0, =^Jx,/(c3)z},
F^vFA =PAcl,y,f(c3>P3(c-l,f(c3>P3(cl,f(c3)) =
= PXci-y-f^s)^ Fl0.
res(F,,F10)=? 0, ={f(c2^y},
F,0, v F,o0, = PA, J(.cA /(c3>Px (c, ,/(c2 Vfc,)) = 0;
F, =ах^х^Зу(р(уД,(2(х)Ае(у^^
= Эд(р(х)л Зу(р(у)л2(х)л 2G)a 3zP(z)))=
ЭхЭуЭг(р(х)л P^aQ^aQ^a P(z))
x = a, у =b, z = c ,
r = {p(a),p(b),<2(a),Q(b),p(C)}, res(p(a\p(c)^i|c})= 0. Исходная формула не выполнима.
Метод резолюций в исчислении предикатов представляет собой сложную процедуру, состоящую из нескольких этапов:
Представление исходной формулы в виде множества дизъюнктов.
Доказательство противоречивости множества дизъюнктов, включающее в себя получение скулемовских форм исходных формул, унификацию формул, т. е. нахождение нужной подстановки, и доказательство противоречивости множества дизъюнктов в данном константном частном случае.
Первый этап основан на том факте, что если Г = {Д, А2,..., Alt }|— А, то формула А] аА2 а...аД„ —» А общезначима, т. е. истинна в любой интерпретации.
Второй этап базируется на том, что для того, чтобы доказать {a.a^.-.aJI-^, нужно показать, что множество формул Ц = Ги{д}= {ДрАо,...,А„,д} противоречиво. Противоречивость доказывается с помощью теоремы Эрбрана подбором конкретного константного частного случая. Механизм доказательства противоречивости множества дизъюнктов похож на аналогичный в исчислении высказываний.
рассмотрим первый пример:
F = ((VzZ?(/>,z,z)v ЗуА(Д v^))a (Vu/?(h,u,u)v VyVzA(y,^,z)))^ —> (^wZ^w, c, w) а Зил(н, u, u))v(3wVwB(Z>,« , w) a 3z VxS(x, c, z))) =
Получим по формуле А, а А2 л...л А„ —> А множество {ДрАз.-.^ДрА}, В нашем случае (pj a F2)—> (^ v Р4), т. е.
A = F3vF4, A = F3^F4. Тогда множество Г, будет иметь вид г,={а,р2.^Л1
Fj = VzS(b,z,z)v 3vX(Z),v,/>)= 3vA(Zm',^)v VzB(z?,z,z) =
s 3vVz(x(Z?,v,h)v В(Ь,з,з^У Обозначим значение v, которое существует в соответствии с первым квантором, константой a, отбросивкванторсуществования.Тогда
Д = Vz(A(b,a,b)v B(b,z,z)\
Квантор всеобщности можно также отбросить в предположении, что доказательство проводится для всякого фиксированного Z- Тогда F( = A(b,a,b)v B(b,z,z\
Аналогично Г2 = \/uB(u,u,u)v VyVzA(y, y,z) =
= VwVyVz(s(w,M,u)v A(y, у,z)) или
F^ = B(w,u,«)v A(y,y,z). F3 = 3wB(w,c, vvVhA(ii,u,u\
F3 = Vw8(w,c, w)v VuA(u,u,u)s VwVh(5(w,c,w)v A^u.upi^,
F; = B(w,c,w)v A(u,u,u). F4 = 3w\/uB(b,u,w)K3z\/xB(x,c,z),
F4 = Vw3uB(b, u, w)v ^zlxB(x,c, z) =
= ^w3uB(b,u, w)v Vz3nB(w,c, z) =
= 3u^wB^b,u,w')v'x/zB(4u,c,z^s Bu'^w'^z^B(b,u,w)v b(ii,c,z^. Обозначим значение u, которое существует в соответствии с первым квантором, константой d ^ — d\ отбросив при этом квантор существования. F4 = VwVz(8(b,t/,w)v B(d,c,z)). Тогда
F4 = B(b,d,w)v B(d,c,z).
Таким образом, множество Г, противоречивость которого необходимо проверить, будет иметь вид
Г = P(z?,a,Z?)v B(b,z,z\B(u,u,u)v Alj^y^z^B^c, w)v A(u,u,u\ B(b,d,w)v B^d,c, z)}= {C,, C2, C3, C4}.
Исследуем это множество на выполнимость с помощью метода резолюций, воспользовавшись обозначениями раздела 4.9.
Найдем res(C2,C3). С2 = B(n,u,u)v A(y,y,z),
С, = B(w,с, w)v A(u,u,u), б, ={и|зр},
С26, v С30, = B(n,u,w)v A(y,y,z)v B(h,c,«)v A(ii,u,u\
= {z|u},
Сзб^г v C39192 = B(c,c,c^v A(y, y,z)v B(c,c,c)v A(c,c,c) = = A(y, у, z) v A(c,c, с). Вычислим теперь склейку этого дизъюнкта. 63 = {с|у,ф}. Склейка геу(С2,С3) равна А(с,с,с)= С5.
res(C, ,С5)=? С, = A(b,a,b)v B(b, z,z), С3 =А(с,с,с).
={z|/?,c|a}, С,6, vC56, = A(c,c,c)vS(c,z,z)v А(с,с,с), ге5(С,,С5)=С„ = B(c,z,z).
res(C4,C6)=? С4 = B^d,c,z\ С6 = B(c,z,z), 6] = {c|d}, С40, vC66, = B(c,c,z)vB(c,z,z), 62 ={c|z}, res(C4,C6)=0.
Множество формул Г противоречиво, таким образом, исходная формула F истинна.
доказательство проводится по схеме пункта а.
F = (Vu3w^(6,u,w)v b(c,c,c)v 3wVu^(u,c,w)vV»B(b,w,w))a (Vw3«B(w,u,a))^(3wA(M,c,a)A3v3wB(w,v,M'))v(3v3wB(&,v,w)A лЗгА(г,с,х)лЗхХ/уВ(у,х,а))=(в| aB2)^(b3 vB4).
F, = Vu3wA(b,u,w)v b(c,c,c)v 3wVmA(k,c,w)v VwB(b,w,w) = = 3w(X/uA(b,u,w)v B(c,c,c)v Vt2A(t2,c,w)v V^Bfb,^,^ )) = = 3wVwV(2Vzi(a(6,u,w)v B(c,c,c)v A(r2,c,w)v B(b,tt,t^\ w = d , Fj1 = A(b,u,d)v B(c,c,c)v A(f2,c,d)v B^b,!,,!,^.
F2 = Vw3uB(w,u,a), u= fv(w\ F2 = B(w,j\(w\a\
F3vF4 = F3/xF4,
F} = 3uA(M,c,a)A3v3wB(w,v,w) = VuA(u,c,a)v VvVwB(w,v,w) = s VuVvVw(A(u,c,a)v b(w,v,w)), F, = A(u,c,a)vB^w,v,w\
F4 = 3vBwB(b, v, w) л 3 zA(z, c, z) a HxVyB (y, x, a)=VvVwB(6, v, w) v v VzA(z,c,z)v Vx3yB(y,x,a) = 3y(vvVwB(6,v,w)v VzA(z,c,z)v v VxB(y,x,a))= 3yVvVwVzVx(B(Z>,v,w)vA(z,c,z)v B(y,x,a)), y = Z, F4 = b(6,v,w)vA(z,c,z)vB(l,x,a).
Г = ^A(b,и,d)v A(t2,c,d^\/ B(c,c,c)v B(b,ti,tl\B(w,fi(w),a), A{u, c, a) v B(w, v, w), B(b, v, w) v A^z, c, z) v BQ, x, a)}={C„C2,C„C4}. Упростим формулы множества Г, иайдя их склейки.
С, = A(b,u,d)v A^2,c,j)v B(c,c,c)v B^b.t^t,), 6, =^2}' 0,6; = A(b,u,d)v A(b,c,d)v B(c,c,c)v Bfp.t^t^), 62 =^|u}, C,6|62 = A(b,c,d^v A(b,c,d^v Btc.c.c'lvB(b,h,ti\
63 = {c|/>, c|<!}, Склейка равна A(c,c,6?)v В(с,с,с).
С4 = B(fc,v,w)v A(z,c,z)v в(/,х,а), 6, = {б|/},
С40, = B(b,y,w)v a(z,c,^v в(Ь,х,а\
О, = {x|v], С40,0, = B(b,x,w)v A(z,c,z)v В(Ь,х,а), 03 = {a|w}, С40,0203 = B(b,x,a)v A(z,c,z)v В(р,х,а) = A(z,c,z)v B(b,x,a\ res(Ct,C3)=2 С, = a(c,c,</)vв(с,с,с),
С3 = А^с.а^ B(w,v,w\ 0, = {c|zz],
0,0, vC30, = A(c,c,^)vB(c,c,c)v A(c,c,a)vB(w,v,w);
02 = {a|B},
0,0,0, vC30,0, = A(c,c,a)vB(c,c,c)vA(c,c,ti)vB(w,v,w),
03 = {c|w,c|v], rei(C,,C3) = B(c,c,c)v B(c,c,c)= 0 .
Исходная формула F истинна.
F = (3uA(u,b,c)—> (3v3wB(v, v, w) —> 3vA(b,v,v)))A
a (3yB(a, y,a)v Vx/V/z, x,v)vVxVzzB(x^((VxA(x,x,c)—>
ЭуЗгА(Д у, z) v B(a, а, />))) = (F, a F2) -> (F3 v F4).
F[ = 3uA(ti,b,c^v 3v3wB(v,v,iv)v 3vA(6,v,v)= Vuzl(u,B,c)v
v VvVwB(v,v,w)v 3vA(6,v,v)s VizA(i/,6,c)v VtVwB^.Z.^v
v 3vA(B,v,v)= 3v(vuA(u,b,c)v VtVwB(t,t,w')v A(6,v,v)) =
= 3vVzzV?Vw(a(zz,6,c)v b(z.z. h')v A(B,v,v)), v = d,
F/ = A(u,Z>,c)v B(f,t, w)v AQ),d,d\
F, = 3yB(a,y,a)v VxA(/z,x,x)v VxVhB(x,h,B) = 3y(B(a,y,a)v VxA^b, x, x) v Угон B(t, u, b)) = 3yVxVzVzz(b(s, y, a) v A^b, x,x)yB(t, u, b)), у = I, Ft = B(a,l,a)v A(/z,x,x)v B(t,u,b\
F^ = VxA(x,x,c)-^ 3y3zA(b,y,z) = VxA(x,x,c)a VyVzA(6,y,z)s = VxVyVz(n(x,x,c)AA(6,y,z)), F, = A(x,x,c)aA(b,y,z).
F4 = F, = B(a,a,b\
Г = ^(»,6,c)vB(z,/,w)v А(Ь,В,В),В(а,1,а^ A(b,x,x)v B(t,u,b\
A(x,x,c\A(b,y,z),B(a,a,b)}= {С,,С,,С3,С4,С5}.
Найдем все склейки формул.
С] = A(M,fc,c)vS(r,r,w)v A(W,d), 9] = {/^.Z^/,/?^},
С,6, = A(b,b,b)vB(t,t.w)v A^b.b^B^t.w),
С2 = B(a,Z,a)v a(Zj,x,x)v В(г,н,/>), 9, = {a|f,/|ii,a|b}, C20t = B^aJ.a^Jv A(b,x,x^v B(a,l,a)= A(b,x,x)v B(a,l,a\ res(A(6,x,x)v B(a,/,tz), B(?,z,w))= ? 9) = {a|f,a|/,a|w}, res = A(b,x,x)vB(a,a,a)v B(a,a,a)= А(Ь,х,х). res(A(b,x,x)v,A(b, y,z))= ? 0t = {x|y,x|z}, res = A(b,x,x^v a(6,x,x) = 0 .
В этом примере исходная формула дана в виде импликации, причем следствие импликации равно единице, т. е. F = 1 независимо от посылки. Действительно, res(A(x, х, c)v, л(Ь, у, z))= ?
0, = {б|х,б|у,с|г}, res = A(fe,b,c)v A(fe,b,c)=0.
F = (3xVy3zB(x,y,z))A (3uVy'VxA(u,x,y)v Vx3zB(x,o,z))a (Vz3xB(z,a,x)—>Vu3vVwB(h,v,w))—> Hu3vVivA(u,v,m')a a 3v3w’VnA(w, v,u) = ^ a F, a F3 —э Ft.
F, =3xVy3zB(x,y,z), x = b, z = f,{y). F,1 = B(b,yJ\(y)).
F, = 3w\/yVxA(«,x,y)v Vx3zS(x,a,z)s 3«VyVxA(u,x,y)v v \/хЭиВ(х,а,м) = Зи(\/уХ/х,4(м,х,у)у VxB(x,n,ti))s = 3n(VyVxA(n,x,y)v \/гВ(;,а,и))э 3izVyVxV;(A(u,x,y)v vB(i,a,u)), u = c, F,' = A(c,x,y)v B(r,a,c).
F3 = Vz3xB(z,a,x)—> Vw3vVivB(n,v,iv)= 3zVxB(z,a,x)v v Vu3vVwB(u,v,w) = 3zVxB(z,a,x)v Vu3zVwB(i/,z,»')s s 3z(\/xB(z,a,x)v V»VwB(i<,z,iv))= HzVxVnVw(B(z,a,x)v vB^.zai1)), z = d, F3 = B(d,a,x)v B(u,d,w).
ЕЛ = ВЙЗу\/и<4(ЙГу/^У^^VmVv3w^(z/,v,\v)v
v VvVw^u A(u\v,u^ = Vu\/vBwA(ii,v,w)v VxVy3wl(y,jr, iv) = = 3w(VzzVvA(z<,v,w)v V.rVyA(y,x,w))=
= 3wVi(VvV.vVv(a(»,v, iv) v A(y,.x, w)),
w = l, F: = A(zz,v,/)v A(y,.x,/).
Г = \в(Ь, у, /(у)), а(с,х, y)v B(r,a,c), B(z/,n,x)v B^u.d,w), A(w, v,/) v A(y,x,/)}. Склейки дизъюнктов: B(d,a,x) v B(u,d,w), 0, = {^|w,(/|«,a|w}, B(d,d,x)v B^d,d,x) = B^d,d,x\
A(u,v,l)v A(y,x,l), 0, = {y|zz,.r|vj,
A(k,v,/)v A(y,x/) = A^y,x,l\ res[B(b,y,fl(y)),B(d,d,x'E'l, 0, = {b|r/,/z|yy -B^y./G^Qi vB(d,rf,.v)01 = В^Л^^Хь.Ь.х),
o2 ={/;№)- ^в^ыАьЬ^ьла^^
Формула F истинна.
F = (VuVvVwA(iz,v, iv)v \/л"ЭуВ(х,6,у)v VuVvC(n,v.b^A
л (3xA(.x,iZ,/?)vVy3zB(a, y,z) v VvVhC(v,u,(/))a (\/wB(«,/>,«'))—>
—> (yi3v3wC(u, v, >v)a 3xVy3zC(A, y, 2)) = F, л Рг л РЛ —> F,.
/у = Vz<VkVh’^(h,v, w)v Vx3yB(x,B,y)v VhVvC(h,v,B) =
= 3y(VwVvVii/A(i<,v, w)vVxB(x,B,y)v Vz^^C^Zpf,,/?)) =
= 3yVuVvVH'VzlV/2(A(u,v,w)v B(x,6,y)v C^,/,,/))),
у = d , F^ = a(m,v, w)v B(x,b, y)v C^vF_,b\
F2 = 3x-A(x,a,Z>) v Vy3zB(rz,y,z) v Vi'Vi(C(iy;/,a) = Зх(А(_х,а,Ь^ м\/уВ[а, у,x)v VvVwC(v,M,tz))e
: a.xVyVvVu(A(x,a/)v В(а, y,.v)v C(v,»,a)), x = I, Fl = A(l,a,b)v B(a,y,l)v C(y,u,a).
F2 ='dwB(a,b,w\ F-( = B(a,b,w\
F4 = Viz3v3ivC(i/,v, w)a 3xVy32C(x,y,z) = 3zzVvVwC(zz,v,iv)v
v Vx3yVzC(x, у, z) = 3u(vvVwC(k,v,w)v V%VzC(a',u,z))=
= 3uVvVwVxVz^(u,v,w)v C^x,u, z)), u = k, Ед = C(fc,v,w)vC(.x,Z:,z).
Г = {я(и, v, w) v B^x, b,d)v Cit^t^b), A^l, a, b) v B(a, y,f)v C(y, u,a\ B(a,b,w),C(k,v,w)v C(x,t,z)}= {C,,C2,C3,C4}. Склейка последнего дизъюнкта из множества Г: О, = {t|x,t|v,z|w], C(t,v,w)6, vC^,k, z)0, = C(t,t,z).
res(C,, C2) = I
= {z|u,a|v,6|w}, CjG, vC202 = AQ.a.b'jv B^x.b.d'jv c(t1,t2,b')v v A(l,a,b)v B(a,y,l)vC(a,l,a)=
= B(x,b,d) v C(z, ,t2,b)v B(a, у ,Z)v C(a,l,a),
02 = {a|x,Z;|y,d|Z },
C,0,02 v C20,02 = B(a,b,d)v C(il,t2,b)v B(a,b,d)v C(a,l,a) =
= B(a,b,d)v C(tt,t2,b)v C(a,Z,a), 63 = {a|tj,/|z2,a|Z>], CjS^^j v 020,0203 = B(a,<i,d)v C(a,l,a)v C(a,i,a) = = B(a,a,d)v c(a,l,a\
res^B^i,a,d^ C(a,Z,a^C3)= ? 0, ={a|fe,d|w}, res = B(a,.a,d^v C(a,l,a)v B(a,a,d)= C(a,l,a).
res(p^a,l,a\c(k,k,z))=‘? 0, = {a|£,a|Z,a|z),
res = c{a,a,a)~y C(a,a,a)= 0 . F —истинная формула.
F = (3yVzB(y,a,z)^ VhVv^(6,v,u))a (VuVv^(v,u,a)v
v Vy3uVzB(u,y,z))A (Vzfi(z, z, z))->
-» ((ЗуВ(а, y,b) a 3xVy3zA(x, y, z))v
v 3mVv3wA(m,v,w))= Ft a F2 a F3 —> F4v Fs.
F, = 3yVzB(y,a,z)—> VuVv^(Z>,v,h)= Vy3zB(y,a,z)v
v VmVvA(Z>,v,m)= 3z(vyB(y,a,z)v VuVvA(Z>,v,m))=
s 3zVyVuVv(B(y,a,z)v A(b,v,u)},
Z = c, Г, = B(y,a,c)v A(b,v,uY
Е, = VuVvA(y,u,a')v VyBi№B(u,y,z') =
s 3t(VuVvH(v,«,a)v VyVzS(z,y,z))s
= 3zV«VvVyVz(A(v,M,a)v B(t,y, z)), t = cl,
F3 = A(y,u,a)v B(d,y,zY
F3=VzB(z,z,zY F3=B<z,z,zY
F, = ЭуВ^оЗ^йУлЭхУ^гЛ^хЗ^з)3 VyS(a,y,/?)v v Vx3yVzA(x, y,z^ = 3l^lyB(a, y,6)vVxVzA(x,/, z)) = = 3/VyVxVz(s(a, y,b)v a(x, t,z)\
t = l, F' = B(a,y,b)vA(x,l,zY
Fs = BuV5mS1uamv) = Vu3v\/wA(ii,v,wY v = /, (»),
F; = A(uJv(u\wY
Г = {s(y,a,c)v A^b,v,u\ A(v,u,a)v B(cl,y,z),B(z,z,z),B(ci,y,b)v vA^xJ.zY'a^uJ, (u), w)}= {C,, C2, C3, C4, C5}.
гел(С,,С2)= ? 6, ={</]«,<f|iz,c|z],
C.S, v Соб, = B(d,d,cYj A(b,v,u)v A(y,u,a)v v B^d.d.c^ A(b,v,u)v A{y,u,a), 02 = ^>|v,/?|n], C.0,02 v C20!02 = А(Ь,Ь,Ь^ A(b,b,aY 63 = {fe|a}, res(C1,C2)= A(b,b,b).
res(C3,C4)~? z— общая переменная, заменим z на I.
C3 =B(z,z,zY C4 =B(a.y,b)v'A(x,l,t),Ol = {ar|z,a|y,«j»}.
0,0, vC40, =S(a,H,iv)v/?(a,a,ti)v/l(.v,/,z)= A(x,/,/).
res^A^b, b, Ь\А^х, l,t^= 1 0, = {fc|.v,b|/,fc|z], res = A(/?,/>,Z>)v A(b, b, b) = 0. Исходная формула F — истинна.
Глава 10
Теория алгоритмов
10.1. Ответы и решения практического занятия №11
функция \р получается суперпозицией из / и Г":
V(x,,AV..,A;J=/(/y.X|,.r2,...,.xJ/X.Y^^
/,',(Х|,.г2,...,л-„));
функция (р —суперпозиция f и Г'1^: ^xv,x2,.-,xn_^ =
= Г^пЧ (Х]’Х2 >...,Хп-^ \1НЧ (х^Х2,...,Хн^(х] ,Х2,)).
f{x)= х + п, функция /(л)— суперпозиция функций Х(х);
(((х 44)+1)+... + 1)=Х^ и pajп раз
/(х)= п . функция f^ — суперпозиция функций Х(^) и О(л);
/М = (№ +1)+1)+^= ^^(о(х))>
п разп раз
f(xi^= v + у . Применим схему примитивной рекурсии функции
J /(х,0)=<р(л),, .
двух переменных:ч ,/\\ "оль может
L/A-^ .y + 0= V(.^, УЛ
играть функция /,'(^) = Л",
роль х|/(х,y,z)= 2i(/33(x,y,z))= г+ 1 = 1 + /(л,у),
т. е. /(х,0) = х = х + 0, /(хД^ = ч/(л,0,/(.r.O)) = 1 + /(х^ = 1 + л-, /(л,2)= х|/(л,1,/(%,!))= 1 + ,/(х,1)= 2 + х и т. д.
функцию |х — у| можно легко выразить через усеченную разность. .. [х-у,х>у,.fx-y,x>0,
Действительно, х-у =<' а X— у = 1То-
11 [у-х,х<у,[ 0,х<0.
гдагдах-у = х— у,у—х = 0,х > у,
гда
гда
у-х = у—х,х—у = 0,х< у,
следовательно, |х-у| = ^х—+ —xj. Функция [х — у| примитивно рекурсивна, ибо представляет собой суперпозицию примитивно рекурсивных функций;
т(х) — число делителей числа х, т(0)= 0. Воспользуемся функцией rest(x, у). rest(x, у) = 0, если х делится на у без остатка, и rest(x,у)>0, если не делится без остатка. Таким образом, если i — делитель х, то rest(x,i)=O. Нужно подсчитать лишь число
1,х = 00,х > О1,х = 00,х > Оsgn(x) =sgn(x) =нулей при i = l,2,...,x. Это можно сделать с помощью функции
1,х = 0
0,х > О
1,х = 0
0,х > О
sgn(x) =
sgn(x) =
. Итак, т(х)= £sgnrest(x,i). Функцию т(х) уда- /=1
лось представить суперпозицией примитивно рекурсивных функций, следовательно, сама она также примитивно рекурсивна;
л(х) — число простых чисел, не превосходящих х. Воспользуемся только что полученной функцией т(х). Все простые числа делятся без остатка только на себя и единицу; составные же имеют больше делителей. Если число делителей числа уменьшить на два, то для простых чисел получим нуль. Осталось как в предыдущем пункте (б) подсчитать число нулей. Следовательно, п(х) = 5Lз§п(|т(0— 2|), /=1
при этом единица не считается простым числом. Таким образом, опять удалось представить функцию л(х) в виде суперпозиции функций х±у, |х|, sgn(x)> т(х), которые примитивно рекурсивны;
иг^ — число простых делителей числа х, lh^= 0, Эта функция по строению похожа на предыдущую л(х). Если у — простое число, то т(у)=2, если при этом аргумент л делится на это простое число без остатка, то rest(x, у)=0, в противном случае сумма |т(у) - 2| + rest(x, у) > 0.
Тогда lh(x) = Xsgn(|T(/)—2[ + rest(x,z)). Ih^— примитивно ре- 1=1
курсивна, т. к. представляет собой суперпозицию примитивно рекурсивных функций;
здесь не обойтись без привлечения операции минимизации. Пусть л(у) — число простых чисел, не превосходящих у. Тогда поскольку в данной функции р^ нумерация простых чисел начинается с нуля, то уравнение л(у)~ (л +1) = О выполняется лишь тогда, когда очередное простое число будет л -е по счету,
Действительно, пусть, например, х = 4. Четвертое простое число — это 11. р(4)= ц, [|л(у)~ (4 + Ц = о], у — О, (тг(о)—5| = 5*0, у = 1, |л(1)-5| = |0-5| = 5 * 0, у = 2, |л(2)-5| = |1-5| = 4^0, у = 3, |л(з)-5| = |2-5| = 3*0, у = 4, |л(4)-5| = |2-5[ = 3*0, у =5, |л(5)-5| = |3-5| = 2 ^ 0, у = 6, |л(б)-5| =|3-5| = 2 * 0, у =7, |л(7)-5| = |4-5| = 1 *0, у = 8, |л(8)-5| = |4-5| = 1 * 0, у = 9, |л(9)-5| = |4-5| = 1*0, у = 10, |я(10)-5| = |4-5| = 1*0, у = 11, |л(11)-5| = |5-5| = О, у = 11, р(4)= 11.
Поскольку использовалась операция минимизации, необходимо применить теорему 5.3. Для этого надо составить примитивно рекурсивную мажоранту а(хих2х(>). В нашем случае ц^[|л(у)-(л +1) = о]< а(л). Проще всего взять быстро возрастающую показательную функцию, например, 22 . Эта функция примитивно рекурсивна (без доказательства). Тогда так как Иу [|л(у)-(jc + !)| = o]s 22', то рМ = Ц , [|л(у)-(л + 1)| = о] — примитивно рекурсивная функция;
эта функция определяется аналогично [Vx] (см. разд. 5.3).
Так как [х/х]= цг sgn (г + 1)2— х | = 1 <х,
^2х]=ц, sgn (г + 1)2—2х2 = 1 < 2х. В качестве мажоранты
можно взять 2х,т. к. v2x < 2х. Вычислим, например, [у2-4]=5,
г = 0, 1—32 = 0, sgnO = O*l, z = 1, 4-32 = 0, sgnO = O*l,
г = 2, 9—32 = 0, sgnO = O^l, z = 3, 16-32 = 0, sgn0 = 0^1,
г = 4, 25—32 = 0, sgn0 = 0*l, г = 5, 36-32 = 4, sgn4 = l,
г = [V2x4] = 5. По теореме 5.3 функция примитивно рекурсивна;
С? должна быть целочисленной функцией, поэтому определим ее через функции [х], sgn(x) и sgn(x) таким образом, чтобы С, =1
при у > х. С, =при у > х. С, =-^j- -sgn х—у + sgn х—у . Функция
при у > х. С, =
при у > х. С, =
.^^’ли I J I J
С, получена суперпозицией функций х!, [х], Sgn(x), sgn(x), |х— у], х+у, X—у, поэтому является примитивно рекурсивной.
Пусть /(х[ ,х2,...,хп) получена суперпозицией и по схемам примитивной рекурсии с использованием функций О(х)=0 и Z™(xt,x2,...,xn\ Тогда для этой функции должны быть справедливыми следующие соотношения:
/(0,0,.„,0) = 0;
если х,. < 1, i = 1,и, то /(хрх2хп )< 1.
Рассмотрим fx (х)= х +1. Эта функция не удовлетворяет условию (а); /2(х)=2х не удовлетворяет условию (б) при х = 1.
[У8п + 1]+12[У8п + 1]+12или X + у + 1 <или X + у + 1 << х + у + 2.< х + у + 2.Следовательно, х +Следовательно, х ++ 1 = /(л) + г(л) + 1 -+ 1 = /(л) + г(л) + 1 -уу, тогда х + у = А -1 и из уравнения, тогда х + у = А -1 и из уравнения
[У8п + 1]+12
[У8п + 1]+12
или X + у + 1 <
или X + у + 1 <
< х + у + 2.
< х + у + 2.
Следовательно, х +
Следовательно, х +
+ 1 = /(л) + г(л) + 1 -
+ 1 = /(л) + г(л) + 1 -
у
у
, тогда х + у = А -1 и из уравнения
, тогда х + у = А -1 и из уравнения
Пары натуральных чисел можно разложить в простую последовательность разными способами. Рассмотрим так называемый канторовский способ: (0,0); (0,1), (1,0); (0,2), (1,1), (2,0); (0,3), (1,2), (2,1), (3,0);... В этой последовательности пары чисел идут в порядке возрастания суммы их членов, а из пар с одинаковой суммой членов раньше идет пара с меньшим первым членом.
Начнем нумерацию пар с нуля и обозначим через с(х,у) номер пары (х, у) в этой последовательности. Число с(х,у) называется канпюров- скнм номером нары (х,у). Обозначим через 1^ и г^ левый и правый номер пары с номером п и найдем вид функций с(х,у), /(и) и r(uY Пара(х, у)находитсянаотрезке
(О,Л' + у),(1,х + y)...,(x + у}...,(х + у-1,1), (г + у,0) на х-м месте после пары (0,х + у). Перед парой (0,х + у) в канторовской последовательности находятся х + у отрезков (отделены друг от друга точкой с запятой), содержащих всего 1 + 2 +3 +... + (х + у) пар. Поэтому с(х(£+2fc±2±0 + х = (^ + у)2+3х+у
22
Если теперь х = l(n\ у = г(и) и л = с(х, у), то 2п = (х + у)' + Зх + у, 8л +1 = 4(х + у У + 12х + 4 у +1 = (2х -I- 2уУ + 12х + 4у +1 = 4х2 + 8ху + 4у2 + 4х + 4у +1 + 8х = (2х + 2у + 1У + 8 = (2х + 2у + ЗУ - 8у - 8, т. е. (2х + 2у +1)" + 8х = 8л + 1 = (2х + 2у + 3)" - 8у - 8 . Уменьшим
левое выражение и увеличим правое: (2х + 2у +1)2 < 8л +1 < (2х + 2у + З)2, 2х + 2у +1 < [VSn+Tj< 2л-+ 2у + 3
c(.v,y)= ^ + -уХ^+У + 1) + л. получаем 2х = 2н-А(А-Г),
Итак,Итак,
Итак,
Итак,
Видно, что функции с(х,у\ /(и) и г(») выражаются с помощью подстановок через элементарные арифметические функции ■ Г гЛ И
х+у, х — у, р/х], — , следовательно, они примитивно рекурсивны.
Кроме того, из самого определения функций <?(х,у), /(и) и г(п) как функций, связанных с нумерацией пар, вытекают следующие тождества: с(/(п^г(п)) = п, Z(c(x,y))=x, г(с(х, у))= у.
Рассмотрим схему возвратной рекурсии
fU,x2,..„xn.1,0') = <p(x1,x1,...,x„.v\ /(xl,x2,...,x,H,y + l)=i|/(xl,x2,...,x„_l,y,/(xl,x2,...,x„_1,a1(y + l)),
= ^xvx2,...,xn_l,y,zl,z1,...,z1'),
где а! (х),а2 (х),..., а (х) — всюду определенные функции, удовлетворяющие всем значениям х при а,(х + 1)<х, i = l,s.
Последовательность чисел Фибоначчи определяется уравнениями I /(o)=o,/(i)=i,/(0)=/ . _
[/(п + 2)=/(п)+/(п + 1) ™И V(n + 0=/(n)+/ "-1 ksgnn.
Действительно, /(0) = 0. /(1)= /Ф)+ /^0—1^ +sgnO = 0 + 0 +1 = 1, /(2)=/(0+/^1-1р ^1 = 1 + 0 + 0 = 1, /(3)= /(2)+/^2—l^ + sgn2 = 1 + 1 + 0 = 2 ит.д.
Отсюда видно, что функция /(и) возникает по схеме возвратной рекурсии из функций <р(х) = 0, >|/(х, у, г,, г2) = sgny + z, + г2 и функций а,(у) = у —1, а2(у)= у—2. Так как все зги функции примитивно рекурсивны, то функция /(п) также примитивно рекурсивна.
в операции минимизации (см разд. 5.2)<р(х1,х2хпА
= Hy[/(-*i.*2.-,-t„.y) = *] функция <р(дг,,л:2,...,л:„) считается неопределенной, если окажется, что для всех у f^x, ,х2,...,хп, А* b или для какого-то у /(х, ,х2,...,х„, у) не определено.
Рассмотрим функцию <р(х) = цДх(х)+ у = 0].
у = 0, Х(х)+ у = х + 1 + 0^0, у = 1, Х(х)+ у = х +1 +1 * 0 и т. д.
Очевидно, что для любого у Х(х)+ у Ф 0, т. е. ф(х) — неопределенная функция. Использована операция минимизации, следовательно, функция ф(х) частично рекурсивна;
пусть /(х,у)= Ц2[|х-(z + у] = о] и, например, х = 4, у-2. Тогда z = 0, |х - (z + у) = |4 - (0 + 2] = |4 - 2| = 2 0, z = l, |х-(г + у]=|4-(1 + 2М4-3| = 1*0, 2 = 2, |х —(г + у) = [4-(2 +2)| = |4-4| = О, т. е. /(x,y)=x-y = z = 2.
Если же х = 2, у = 4, то z = 0, |х - (z + у) = |2-(0 + 4)| = 2 0, Z = 1, |2- (1 + 4^ = 3 ^ 0, z = 2, |2- (2 + 4}| = 4 Ф 0 и т. д., т. е. Жт)^-? не определена. Функция /(х, у) вычисляется через оператор минимизации, значит, частично рекурсивна;
в)/(^у)=|^ ^
[не определена в остальных случаях..
Пусть /(х, у)= ц„ [|х — zy| = о]. Функция определена и вычисляется так же, как в пункте (б).
С помощью нумераций пар натуральных чисел легко получить нумерации троек, четверок и т, д. Введем следующие функции: С3(х1,Х2,Х3)=с(с(х„Х2)х3), с4(х,,х2,х3,х4)=с3(с(х1,х2),х3,х4)
С (хрХ2,...,Хп+| )= С (с(хрХ2),Х3Х„+1).
Число с”(хрх2х,) называется канторовским номером п-ки чисел (хрх2,...,х„). Если с"(хрх2;.,„%„)=?, то л = г(г), ^„_, =г^^,....
Действительно, пусть, например, и = 3 .
Тогда с3(х|,х2,х3)=с(с(х|,х2),х3)=/, х3 = г(с(хих2),х3)= r(t\ C^l.^^^Y X2=r(lQ^ И X, =l(l^\
Введем обозначения cnn(t')=xn, с,,,.^^ x„_v..., cll](t)=xl. Тогда c"(c,.,i(0.c„.2(4--c„,,.(0)=^ c„(c"(-*i^2--^„))=-t,- i = l,n. Эти формулы аналогичны соответствующим формулам задачи 5.4.5.
Для получения основного результата задачи введем вспомогательную функцию Х|/(г,у)= с',+2(с„, (г}...,С„„(г), У,/(с„ , (/),...,С(z), у)). Пусть функция f(xvx2,...1xn1xlH1 ) задана примитивной рекурсией через функции g и h таким образом:
[/(^р^л-п,0)= g(x, ,л,,...,лп),
Из функции \|/(?,у) имеем
Ac„3^\clllQ\..,c„ilMy^= Дх^х^.^х^у^с^^
= сл+ЪиМс"^’х1'-’хЛу^'
Тогда у(гХ))=с"+2(с„ ,(/),с| 2(г),...,сь^
v|/(z,y + l)=c"*2(c„l(z),c„2(z),...,c„„(r),y + l,7i(c„l(z),c„2(z),...,c„„(<),y, с^1.^ЫмЖ Так как у(/, у + 0=фЫ;,>'))- где функция Ф имеет вид ф(м) =
= с"ДСю2а(“К:2.2(")C„+2.„+l('<)+l-/l(c„+2il(z/),C„t22(“)--C,rt2.„+2(»)))-
Таким образом, функция / получается из функций gjij, г,с,(9,Хи Г” подстановкой и специальной рекурсией вида v(^0) = G(x), у(х,у +1) = Ф(у(х,у)), второе из уравнений которой представляет собой итерацию, т. е. функция \|/ получена из Ф с помощью итерации (с.м. разд, 5.2).
Заменим теперь функцию \|/ функцией F посредством рекурсии F^x.O^x, Е(х,у + 1)=ф(Е(х,у)). Так как для у(г,у) и р(х, у) справедливы соотношения:
*,0^сЛх\
у(х,1)=ф(у(х,0)),
\|/(х,2)= ф(у(х,1))= ф(ф(\|/(х,0))),
^(х.у^ Ф(ф(...Ф(у(х,0))..))= Ф(ф(...Ф(с(х))..));
FH^x,
Р(л-,1)=ФНх,0)),
р(х^ = ф(г(х,1)) = ф(ф(г(х,О))),
Е(х, у)= ф(ф(...ф(?(х,о))..)) = ф(ф(...ф(х)..)), ТО
>|/(х,у)= F(g(x),у). Таким образом, вместо формул /(x1,x2,...,x„,0)=g(x1,x2хД
/(х,,х2,...,х„,у + 1)=/1(х1,х2,...,х„,у,/(х|,х2х„,у)) Функция
получается из g, h, /, г, с, О, X и 7” подстановкой, рекурсией у(х,0)=С(х), ч/(х,у + 1)=ф(ч/(х,у)) и рекурсией F(x,0)=x, F(x,y+ 1) = ф(р(х, у)), где v(x,y)=F(G(x\y),
G(x) = у(х,0)=с'"2 (с„, (х),с„2(х),. ...с(x^0,g(c„,(xV„,2 (х),...,с„,„ (х))).
5.4.9.5.4.9.
5.4.9.
5.4.9.
а) функция /(х) получается из функции g(x) /(,).»(,).("1,х О,sgnx = ^Рассмотрим левуюа) функция /(х) получается из функции g(x) /(,).»(,).("1,х О,sgnx = ^Рассмотрим левуюс помощью итерацииПо определениючасть формулыс помощью итерацииПо определениючасть формулыz|l + |_—jj = sgnx. Здесь /(x) = sgnx , g(x) = 1+ |_—j. Рассчитаем несколько значений функции /(х + Х): х = 0, /(O)=sgnO = O,z|l + |_—jj = sgnx. Здесь /(x) = sgnx , g(x) = 1+ |_—j. Рассчитаем несколько значений функции /(х + Х): х = 0, /(O)=sgnO = O,* = 1, /(o + l)=g(/(o))=l +k = 2, /(1 + У)=8Д(1>У +* = 1, /(o + l)=g(/(o))=l +k = 2, /(1 + У)=8Д(1>У +'^] = 1 + 0 = 1,2 I'^] = 1 + 0 = 1,2 IОчевидно, чтоОчевидно, что= 0 при любом Х>0, т. е. формула= 0 при любом Х>0, т. е. формула
а) функция /(х) получается из функции g(x) /(,).»(,).
("1,х О,
sgnx = ^Рассмотрим левую
а) функция /(х) получается из функции g(x) /(,).»(,).
("1,х О,
sgnx = ^Рассмотрим левую
с помощью итерации
По определению
часть формулы
с помощью итерации
По определению
часть формулы
z|l + |_—jj = sgnx. Здесь /(x) = sgnx , g(x) = 1+ |_—j. Рассчитаем несколько значений функции /(х + Х): х = 0, /(O)=sgnO = O,
z|l + |_—jj = sgnx. Здесь /(x) = sgnx , g(x) = 1+ |_—j. Рассчитаем несколько значений функции /(х + Х): х = 0, /(O)=sgnO = O,
* = 1, /(o + l)=g(/(o))=l +
k = 2, /(1 + У)=8Д(1>У +
* = 1, /(o + l)=g(/(o))=l +
k = 2, /(1 + У)=8Д(1>У +
'^] = 1 + 0 = 1,
2 I
'^] = 1 + 0 = 1,
2 I
Очевидно, что
Очевидно, что
= 0 при любом Х>0, т. е. формула
= 0 при любом Х>0, т. е. формула
sgnx =sgnx =справедлива;справедлива;| 0,х = 0, [2х-1,х>0.| 0,х = 0, [2х-1,х>0.
sgnx =
sgnx =
справедлива;
справедлива;
| 0,х = 0, [2х-1,х>0.
| 0,х = 0, [2х-1,х>0.
/(х)=2х—1, g(x) = x + l + ^^j-^, функция /(л)=2х—1 удовлетворяет условию /'(о)=О. Вычислим несколько значений функции g^f^Y
g(/(0 + l)) = /(0)+l+[^^]-^] =
= 0 + 1+ — - - =0+1+0+0 = 1, L2J L2J
Ml + 0)= (2 • 1 -1)+1+[^"^j-p1^]= = 2 + 1-0 = 2-2-1 = 3, g(/(2 +1))= (2 • 2 -1)+1 +- [2^1] =
= 4 +2-1 = 2-3-1 = 5,
,W3.0).(2 3-l).1+[^]-[^]- = 6 + 3- 2 = 2- 4- l = 7 иt,д.
Очевидно, что исходная формула верна;
в) z(x + 1 + [х/4х +1])= х2 + л. /(х)=х2 + х, /(0) = 0, g(x)= х + 1 + [з/4х + 1],
f(x +1)= g(/(x))= (х2 + х)+1 + [V4(x2 + х)+1]. Доказательство аналогично пунктам (а) и (б).
5.4.10.
[1,Х*0,, ,Z X
sgn.T = <^ Если может быть получена из с помощью итерации, то Iv Тогда sgnx = z'X(O),
действительно, х = 0, sgn х = sgn 0 = 0, х = 1, sgn(0 + l) = X(sgn0)=X(0) = 0 + l = l, х = 2, sgn(l +1)= X(sgnO)= Х(0)= 0 + 1 = 1 ит.д.
/(x)=Sgn(x)= ’’ ИЛИ Sgn(x)=l-X.
[0,х>0
Так как /(о) = sgn(O) = 1, то операция итерации не подходит. Рассмотрим несколько значений функции ^(х), приведенных в табл. 10.1.
Таблица 10.1
X
чМ
х
X
0
0
4
0
8
4
1
0
5
1
9
0
2
1
6
2
10
1
3
2
7
3
11
2
Таким образом, можно использовать функцию д(х\ подобрав ее аргумент у так, чтобы при у = 0, ^(0)=1, а для всех остальных значений у должно быть ^(у)=0.
Если, например, y = 2 + 2sgn(x), то эта задача выполнена. Итак, sgn (х) = д(2 + 2 sgn (х));
I™ (^рхг,...,х„) = 1Х(х„ ). В самом деле, /(О) = 7" (х, ,х2х„) = 0, /(0 + 1) = х(/“+|(х1,х2,...,х„))=х,,
/(1 + 1)= х(//‘ (х, ,х2,...,х„ ))= х2 и т. д;
f^= ах + by + с. Так как функция 1п^хХ1хг,...,хп^ сама может быть получена с помощью операции итерирования из функции Х(х) (см. и. (в)), используем эту функцию в суперпозиции. Очевидно, х = /)(х,у), у = /2(х,у),тогда
ах + by + с = 7) (х, у)+7) (х, у)+... + 7) (х, у)+722(х,у)+... + 722(х,у)+ а разb раз
Х(0)+...+ Х(0);
х2 = г [г + 2|7х2^]+ 1). Действительно, /(х)=х2, g(x)=x + 2[Vxr]+l.
/(0)=0, /(О + 1)=|=О2+2[7о?]+1 = 1,
/(i + i)=4 = i2 + 2[VI?]+i = 4, /(2 +1)=9 = 22 + 2[Т?]+1 = 9 и т. д.
Ответы и решения практического занятия №12
Исходный алфавит А = ^4,В,cj, р = 3. F(a) = ВС ,
Г(ДС^ = Я,(Л,Г(Л)) = /!(A.F(a)) = Л . Далее по определению F(CS) = h2(c,f(c))= S,(c)= СС, F(CBA)= Н, (,cb,f(cb')')= В .
Найдем теперь все представляющие функции. g(x)=c(G(Kt))=c(BC)=3p° + 2/? = 3 + 2-3 = 9. 8^ = 9 = const.
й, (х, у) = c(ji. (Kv. Ку)) =/, где / — номер буквы алфавита А, h2 (х, у) = с(Я2 (Кг, Ку ))= c(S, (Кг)) = рс(а)+ 3 = Зх + 3, h3(x. у)= с(Я,(Кх,Ку)) = с(/)(Кг,Ку))= с(а) = х.
Итак, представляющие функции имеют вид:
(/(ОМ,
[/(Зх + ,) = h, (х, /(л)) = h, (х, у), i = 1,2,3
/(0) = 9,
f^x + l^hXxjV^i,f (Зл- + 2) = h2 (х, / (х)) = Зх + 3,/(3х + 3)=/1ч(х,/(х))=х,
где / — номер последней буквы рассматриваемого слова в алфавите Л .
Определим несколько номеров слов и значений представляющих функций.
1 = 1, /(1) = /11(0,/(0))=/1|(0,9)=0,
i = 2, /(2)= /г2(0,/(0))= /г2(0,9)= 3 0 + 3 = 3,/ = 3, /(3)=/1з(0,/(0))=/1з(0,9) = 0,
1 = 1, /(4) = Л,(1,/(1))=Л1(1,0 = /,
Х = 1,Х = 1,х = 3,х = 3,i = 2, /(5)=А2(1,/(1)) = й2(1,1) = 3-1 + 3 = 6, .1 = 3, /(б)=л3(1,/(1))=л3(1,1)=1,
Х = 1,
Х = 1,
х = 3,
х = 3,
1 = 1, /(7) = й,(2,/(2)) = /г,(2,3) = 1,
1 = 2, /(8)=йг(2,/(2))=й2(2,3)=9,
1 = 3, /(9)=Л3(2,/(2))=Л3(2,3) = 2,
■ 1 = 1, /(ю)=л,(з,/(з))=л1(з,о)=1, 1 = 2, /(11)= Л2(3,/(з))=й2(3,о) = 12, 1 = 3, /(12)= Л3(3,/(3))= Л3(3,0)= 3.
р(Х)=ВС,а, с(л)=О, g(0)=9; F(c)= H3(A,F(a))=A, c(f(c))=c(a) = O, c(f(a))=9, й3(0,9) = 0;
F(CB)= H2(C,F(c))= CC, c(CC)= 3 + 3-3 = 12, c(c) = 3, c(f(c))=O, /i2(3,0)=12 ; F(CBa) = H, (CB,F(CB))= В, с(й) = 2, c(CB)= 2 + 3-3 = 11, c(A)=l, Л|(1Ц) = /|„=2.
\ ’ /lf=2. В-вторая буква алфавита A
Здесь p = 5. F(A,P,y) = y , f(ac,a,f)=h3(a,f(a,ae)1a,f)=s3(a)=af = f, F(CD, A.E) = Ht (C, F(C, A, E), A, E) = H4 (с, E, A, E) = EAC , g^= с(с(Ку,Кг))= c(^= г,
h^x.t, y,z)= c(aPy) = c(y)+ pc(p)+ p2c(a)= 25x2 + 5 у + z, /i2(x,r,y,z)=0,
A3(x,l,y,z)= c(aE) = 5 + pc(a) = 5x + 5, h4 (x,t, y,z) = c(ypa)= x + 5y + 25z2, h5 (x, t, у, z) = BCD = 4- l + 3- 5 + 2-25 = 69.
/(о, y,z) = g(z) = г,
f(5x + l,y,z) = h^x.t, y,z) = 25x2 + 5y + z,
гл/(5x +2, у, z)=/12(м, У, z)= О,
/(5+ + 3, y,z)= Л3(х,г, у, z)= 5л + 5,
/(5+ + 4, у, z)= /г4(х,г, у, г)= л + 5у + 25z2,
/(5л + 5, y,z)-h5(x,t, у, z)=69.
Г(С,А,Е)=Н3(Л,Е,ДЕ)=Е. с(е)=5, Л3(О,5,1,5)= 5 О + 5 = 5;
F(CD,A,E) = На(С,Е,А,Е) = ЕАС,
с(£АС)= 3-1+ 1-5 + 5-25 = 133, й4(3,5,1,5)= 3 + 1 ■ 5 + 25■ 5 = 133.
sgnx = ^’^ начальное слово ^,01110 или д,00000. Программа
машины Тьюринга приведена в табл. 10.2.
Таблица 10.2
Команда
Значение
<7,0—»^2/г
Jo^2l 110
1 Op,0000
q20—>q0YL если 0 »21-> »3R
i-/001000 01^110
<у31 —> q30R 2 раза
0100r/30
430-> q,L
010д400
qA0-4q,L 2 раза
0r/41000
qA^-^qoOL
q000000
Проанализируем данную программу (табл. 10.3) по командам для слов ^010 и ^[100.
Таблица 10.3
Команда
Значение
^[0—>q20R
0p, 10
qA^qJ
<70l 00 для л - 0
qA~^qJ<
01<720
q^o-^qA
01<70I для x * 0
Видно, что программа вычисляет функцию /(х)=х + 1. Хотя при х^О конечное слово содержит /(х) вхождений символа 1, управляющая головка машины не находится в крайней левой позиции.
Здесь роль ненулевого символа алфавита играет вертикальная черточка. Составим программу (табл. 10.4), перерабатывающую исходное слово а0| | | d0 -
Таблица 10.4
Команда
Значение
^l1 -
>ЧгК
«о| »г| «о
-7=1
-> q2a0R 2 раза
йо| <1UaoCliaQ
?2й0
-> qj-
йо| йо^зйо
Чзао
—> q3L 2 раза
йо9з| й0
«И
<?0й0
йо9ойо
Пусть машина Тьюринга Т имеет алфавиты Х = ^ай,ах,...,ап1^ О = {5о^р-.,^л} и ^(ai»а2v^s)— s’-местная словарная функция, заданная в алфавите А. Говорят, что машина Т правильно вычисляетфункциюF(aJ,a2,...,ai),если
^la0a]a0a2...a0av |- ^oaoF(a1,a2,...,av)ao...ao для любой системы слов а,,а2,...,а в алфавите А . Если же F(al,a2,...,at) не определено, то машина Т, начав работать в состоянии д1аоа}аоа2...аоа.х, не должна никогда остановиться в состоянии qQ и не должна надстраивать ленту слева.
Для нашей функции /^х^=х + у для любого начального слова ^ОРОР машина должна выдать результат доО1х+уО. Это можно сделать следующей системой команд (табл. 10.5) при начальном слове, например, такого вида qx 0110110.
Таблица 10.5
Команда
Значение
410-^q,R
0</, 110110
qA^ qT\R 2 раза
01l«20110
qt0->q3\R
011 ly3H0
qA —> q^-R 2 раза
011111c/a0
q,0^q.0L
0111k/410
qJ-^tls^L
0111^10
q.i->qi\L 4 раза
r/5011110
</5O-»9oO
^„011110
Введем понятие композиции машин Тьюринга. Пусть заданы две машины Тьюринга Tj и Т2, имеющие общий внешний алфавит А = {а0,а,<?,„} и внутренние алфавиты Q] = feu * ^t, и Q2 = {(й}> <71 ’<7/}■ Произведением машины Т, на машину Т2 называется машина Т3 с тем же внешним алфавитом, внутренним алфави- том Q, = \go.qi,—,q„,qM1,....q„A и следующей программой: про- грамма первой машины Т, остается неизменной, только символ д0 заменяется на символ q,,^; в программе второй машины Т2 только символ q0 не меняется, все остальные символы q‘ заменяются на qlxA!VV
Совокупность всех команд машин Tj и Т2. измененных указанным способом, и будет программой машины Т3.
При составлении программ для многих машин Тьюринга приходится использовать суперпозицию функций. Суперпозиция моделируется произведением двух или нескольких машин Тьюринга. Для того чтобы было легче следить за работой машин в таких случаях, введем следующие обозначения. Пусть П — программа какой-то машины с алфавитами А={0,1} и Q = feu^t }, а к — положительное натуральное число. Если заменить в П символы qx .q^^-Ai,, на
qk »9t+i ’--чЧк+п-х» а символ q0 на qk*n, то получим программу с тем же внешним алфавитом А = {0,1} и внутренним алфавитом QZ =^9k»4k+\v,qk+nY Эту новую программу можно обозначить через Пк. Если машина, начав работать в состоянии ^р, переходит через некоторое время в состояние а1^,пР1, то будем обозначать этот процесс а^РЩадД.
Очевидно, что если П^\П^2\...,П^^ — программы некоторых машин Тьюринга в алфавите А = {0,1}, то а0^Р0П?)а]^р1П^2)а29„|р2...П[1)а,^Р, эквивалентно а0^Р0(п^П^-.Л^^^Д.
Вернемся к решаемой задаче и рассмотрим сначала более простой случай: ^2 (^i ’ ^2) =,^2 • Исходное слово ^|01А’01^0, необходимо получить конечное слово ^О!*2. Обратимся к примерам, разобранным в разделе 5.6, и обозначим программы соответствующих машин Тьюринга: Б" — левый сдвиг (пример 3), Б+ — правый сдвиг (пример 4), В — транспозиция (пример 5), О — вычисление функции О(х)=0 (пример 8), Ц=ВБ"В — циклический сдвиг (пример 7).
Тогда для ^2^хх,х2')=х2 будем иметь ^ОРОР (б+ ),0Р ^ОР (в)30Р 9210Р (О^ОР ?25О...о(б")!5527ОРО или сокращенно БВОБ . Эта итоговая программа представляет собой произведение четырех машии Тьюринга. Конечная команда Чп=Чо- Нижние индексы программ считаются следующим образом: последняя команда qQ предыдущей программы является первой командой следующей, при этом учитывается число букв внутреннего алфавита предыдущей машины Тьюринга (см. примеры 3, 4, 5, 8 разд. 5.6).
Для машины, реализующей l"^xx,x2,...,xu^=xw, начальное слово ^101Х|ОГг...01х"01х**|...01х'0, конечное ^ОР'О. Воспользуемся программой циклического сдвига Ц=ВБ В, 91ОРОР..Х)РО=><7оОРОР...ОР-ОРО.
Если применить ее (т-1) раз, то получим слово доО1г"О1Ат,^..ОГ''О1А|...ОГ',я"|О, зачем применим к этому слову (п-1) раз программу правого сдвига, получим 01Л,,,0ГГяЖ...01Хя01 ^..^ОГ^Ю. Наконец, применим (п-1) раз произведение программ вычисления функции О^х) и левого сдвига (об-). В результате будем иметь: <7Q01Л'"0 . Итак, машина Тьюринга, правильно вычисляющая функцию /"', такова: (МГ -(б-Г ^б Г.
Пусть F и G — машины Тьюринга, правильно вычисляющие функции /(х) и ^(х) соответственно. Тогда Н = GxF' правильно вычисляет h (см. начало задачи 5.8.7).
. [х — У,х> у,
х—у = 1Задача решается с помощью произведения
[ (U<y.
машин Тьюринга. Рассмотрим две программы: сложения л + у (за
дача 5.8.6) и усеченной разности х — 1 (см. пример 10 разд. 5.6).
Обозначим первую программу С, вторую УР1. Пусть начальное слово ^ОКОРО. После применения программы сложения получим конечное слово ^ОГ^'О; оно будет начальным для второй про
граммы, применив которую один раз будем иметь ^оО1 0.
Ясно, что использовав программу УР1 2 у раз, получим требуемый результат. Итак, УР = С-(УР1)у ‘(УР!/. Написанная программа не самая короткая и не единственная. Очевидно, что этот же результат можно достигнуть и другими путями;
/(х)= — = ^sgn 2 i— х . Программу машины Тьюринга, реа-
L2J i=i ( J
лизующую эту функцию, можно составить, например, из уже рассмотренных ранее программ:
Вычисление произведения 2/ по программе сложения 2г = 2 + 2 +... + 2 (С)1 (задача 5.8.6);
Вычисление усеченной разности 2?—х УР (задача 5.8.9 (а));
Вычисление функции sgru S (задача 5.8.3);
Вычисление суммы ^ sgn/ (С)Л (задача 5.8.6).
Таким образом, машина Тьюринга, правильно вычисляющая функцию ^], имеет вид (с) - УР S • (С^. Конкретный текст программы можно написать при заданном значении х.
Если функция g^x, у) правильно вычислима, то существует программа G, вычисляющая эту функцию для любого х>0 и у>0. Пусть начальное слово для g(x, у) ^ОРОРО. Рассмотрим вычислениепоодномуаргументух:
^ОРО^Г^ОР^ОГО^ОРОР^О!^^^^^^ ГГ — программа копирования, переводящая слово ^jOPOPO в слово ОРОРуоОРОР, ГГ = Б+ВГВБ+ВГВ, Г— удвоение: д,0Р0=> $оОГОРО, программа Г приведена в табл. 10.7.
Итак, начало программы таково (табл. 10.6).
Таблица 10.6
Команда
Значение
9,01'0
(гг),
скорого
(б).
0Г01^9„01,^'°)0
Далее вставляем команды, которые при g^xJ^O преобразовывали бы слово 0Р0Г^т0Р^ в слово 0Р0Г+151П0Р'^ ‘+'\
Таблица 10.6 (продолжение)
Команда
Значение
01101°0i/„,^l 1K<J 0)
01'0I00<7„,h-,01*'(v°^'
Ч„„10 ~> 4,№L
ОГОГ^ОО!1'1*-0^'
Ящ^З^ * ^Н+4^
01*01° q, „JOl1'1*’^1
Ят„ ^ ^ Ят+З^
ОГОГ^О!1'1**1
(о),„т5
01*01'^0
<Б )х(б 1
^oroi1
М
OTOlVy, 01'01'
(G),
Ol^Ol'^Ol'G”
q, 0 —> qm 0
01*01'(/„,01й'’0
Команда q10^qm0 зацикливает программу и машина от состояния 01А011 01 K^v'^ преобразуется в состояние OPOP^Ol8^ ит.д.
Пусть по прошествии нескольких циклов машина перешла в состояние ОРОГ^О!^1'^ и g(x,z) = 0. Тогда поскольку 1° = Л , то должна выполняться команда g,„0—» q^R > которая переведет машину в состояние Ol^Ol'O^^]0. Так как /(х) = / по операции минимизации, то необходимо получить ответ — состояние ^о01'. Это можно сделать так.
Таблица 10.6 (окончание)
Команда
Значение
Ч.^О^Ч^О
01*017/,н0
(b7(b~L
ОР^ОГ
(вхОхБ"),
»,.ОГ
^О-ХУдО
9оО1'('>
Программа удвоения Г: ^ О1*0 => д0 0 Гт0 Р0.
Таблица 10.7
Команда
Значение
qxO-^q2R
0д21л0
9,1-»92/? 'Раз
01'»20
4i^ —* ‘Уз^
01л"'фз10
931->940
ov'^oo
qtQ->q5R
Ol^'O^O
4s0^q6\
Ol^l
Qj ~* 46R
01'"‘01?60
q6o-»q1R
Ol'-'OIO^O
q7O->q8l
01Л"'010»81
q«v^>q%L
Ol^Ok/gOl
q8O-^>qgL
01лЧ09,01
^gl ~> 4qL
or-1 q,0101
q^O-tq^
O1'"'?2O1O1
Через jt, циклов работы
0<7201л01'0
q2o-»q3L
q3 001'01'0
А (перенос нуля) пример 2, разд. 5.6
^OOPO^goOPOO
qk01'001'0
(B*)t
01' q„, 001'0
(A)»
01'9,01'00
(Б")г
9,01'01'0
q,0 ->qoO
9„01'01'0
Список литературы
Адаменко А. Н., Кучуков А. М. Логическое программирование и Visual Prolog. — СПб.: БХВ-Петербург, 2003.
Акимов О. Е. Дискретная математика. Логика, группы, графы. — М.: Лаборатория Базовых Знаний, 2003.
Гаврилов Г. П., Сапоженко А. А. Задачи и упражнения по курсу дискретной математики. — М.: Наука, 1992.
ГиндикинС. Г. Алгебра логики в задачах. — М.: Наука, 1972.
Горбатов В. А. Основы дискретной математики. — М.: Высшая школа, 1986.
Дискретная математика и математические вопросы кибернетики / Под ред. Яблонского С. В и Лупанова О. Б. — М.: Наука, 1974.
Ершов Ю. Л., Палютии Е. А. Математическая логика. — М.: Наука, 1987.
Клини С. Математическая логика. — М.: Мир, 1973.
Косовский Н. К. Элементы математической логики и ее приложения к теории субре- курсивиых алгоритмов. — Л.: Изд-во ЛГУ, 1981.
Косовский Н. К. Основы теории элементарных алгоритмов. — Л.: Изд-во ЛГУ, 1987.
Лавров И. А., Максимова Л. Л. Задачи по теории множеств, математической логике и теории алгоритмов. — М.: Наука, 1984.
Лихтарников Л. М., Сукачева Т. Г. Математическая логика. — СПб.: Лань, 1998.
Мальцев А. И. Алгебраические системы. — М.: Наука, 1970.
Мальцев А. И. Алгоритмы и рекурсивные функции. — М.: Наука, 1986.
Мендельсон Э. Введение в математическую логику. — М.: Наука, 1984.
Нефедов В. Н., Осипова В. А. Курс дискретной математики. — М.: Изд-во МАИ, 1992.
Новиков П. С. Элементы математической логики. — М.: Наука, 1973.
Проблемы математической логики. Сложность алгоритмов и классы вычислимых функций / Под ред. Козмидиади В. А. и Мучника А. А. — М.; Мир, 1970.
Робинсон А. Введение в теорию моделей и метаматематику алгебры. — М.: Наука, 1967.
Роджерс X. Теория рекурсивных функций и эффективная вычислимость. — М.: Мир, 1972.
Судоплатов С. В., Овчинникова Е. В. Элементы дискретной математики. — М., Новосибирск: ИНФА-М-НГТУ, 2002.
Успенский В. А. Лекции о вычислимых функциях. — М.: Физматгиз, 1960.
Успенский В. А. Машина Поста. — М.: Наука, 1979.
Фридман А., Меион П. Теория и проектирование переключательных схем. — М.: Мир, 1978.
Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. — М.: Наука, 1983.
Шенфилд Дж. Математическая логика. — М.: Наука, 1975.
Предметный указатель
А
Аксиома 4, 98
Аксиоматическая система 4
Аксиоматический метод 93
Аксиоматическое исчисление полное в узком смысле 135 полное в широком смысле 136
Алгебра
Вебба 66
Поста 66
Россера-Тьюкета 66
Алгоритм 215
Квайна 129
метода редукций 131
унификации 201
Алгоритмическая проблема разрешимости 212
Алфавит 10, 94, 217
Алфавитный номер 239
Антецедент 7
Ассоциативное нсчисление 258
Ассоциативность
дизъюнкции 12 конъюнкции 12
Атомная (атомарная) формула сигнатуры 150
Б
Базис 53
Буква 217
Булева алгебра 21
Булевы алгебры изоморфные 22
В
Векторы
линейно зависимые 177
Вторая формула расщепления 12
Вход 74
Вход функционального элемента фиктивный 72
Вхождение символа в формулу 14
Вывод:
в исчислении предикатов 190
из совокупности формул 102 свойства 102
Выражение 10
Высказывание 5
абсолютно истинное 5 абсолютно ложное 5 простое(элементарное) 5 сложное 5
Выход 74
Г
Гомоморфизм 22
д
Двойное отрицание высказывания 5
Двухполюсник 74
Дедуктивная цепочка 258
Дерево вывода 98
Дизъюнкт 29
пустой 29 точный 134 унитарный позитивный 134 хорповский 133
хориовский негативный 134
Дизъюнктивная нормальная форма 27,28 минимальная 37 минимальная тупиковая 39 совершенная 28 тупиковая 39
Дизъюнкция 6 обобщение 62 полная правильная элементарная 30 правильная элементарная 30 предикатов 143 элементарная 29
Дистрибутивность дизъюнкции относительно конъюнкции 12
Дистрибутивность конъюнкции относительно дизъюнкции 12
Доказательство в виде дерева 98 в нсчислеиии высказываний 98
3
Заключение 7
Закон:
ассоциативный 21
второй закон де Моргана 12
второй закон поглощения 12
двойного отрицания 21
де Моргана 21
дистрибутивный 21
идемпотентности 21
идемпотентности дизъюнкции 11
идемпотентности конъюнкции 11
исключенного третьего 11, 14
коммутативный 21
коммутативный закон
дизъюнкции 12
первый закон де Моргана 12
первый закон поглощения 12
перестановки посылок 109
Пирса 15
поглощения 21
противоречия 11
снятия двойного отрицания 11
соединения посылок 109
Замена:
переменного высказывания 184
переменного предиката 184
свободной предметной переменной 186
И
Изоморфизм 22
Импликанта 37
простая 37
Импликация 7
предикатов 143
Интерпретация 21
Интерпретация высказываний 11
Исчисление противоречивое 212
Итерация 220
К
Карта Карно 40
Квадратичный остаток 234
Квантор 146
всеобщности 146
область действия 150
существования 146
Класс функций
максимальный 53
предполный 53
собственно функционально
замкнутый 49
функционально замкнутый 49
Коллизия переменных 183
Консеквент 7
Констнтуента единицы набора а 30
Конституента нуля набора о 30
Контактная схема
А-полюсная 74
изоморфная 74
минимальная 77
параллельно-последовательная 74
связная 74
сильно связная 74
Контактные схемы
эквивалентные 77
Конъюнкт 28
Конъюнктивная нормальная
форма (КНФ) 30
Конъюнкция 6
второе обобщение 62
первое обобщение 62
полная правильная
элементарная 28
предикатов 142
элементарная 28
элементарная правильная 28
Критерий
Коши 178
Л
Линейное доказательство 98
Линейный вывод 98
Логика предикатов 141
Логическая эквивалентность 8
Логические константы 5
Логические связки 10
Логический закон 160
Логическое следование 7
Логическое сложение 6
Логическое умножение 6
М
Математическая логика 3
Математические понятия 4
Машина Тьюринга 244
Метаязык 121
Метод
резолюций 131
Метод доказательства
от противного 16
Метод моделирования 4
Множество
ограниченное сверху (снизу) 176
рассогласований 201
Множество слов
примитивно рекурсивное 239
Н
Необходимый признак сходимости ряда 363
Неполное склеивание 39
Непосредственное следствие секвенций 95
Непротиворечивость исчисления высказываний 135
Номер слова 239
Нормальная форма 159, 194
предваренная 159
предваренная (приведенная) 195
скулемовская 159
О
Обратная связь 72
Обращение функции 230
Оператор:
аннулирования 218
проектирования 218
сдвига 218
Отрицание:
предиката 143
высказывания 5
Лукасевича 61
Поста 61
Оценки:
несравнимые 50
сравнимые 50
П
Первая формула расщепления 12
Переменная:
иесуществениая 24'
пропозициональная 94
свободная 146
связанная 146
существенная 24
фиктивная 24
Подслово 94, 239
Подстановка сигнатуры 200
пустая 200
Подформула 10, 94, 150, 182
Полиномы (многочлены) Жегалкина 45
Полное склеивание 39
Последовательность
возрастающая (убывающая) 177
сходящаяся к числу 177
фундаментальная 177
Посылка 7
Правило:
(простого) заключения 184
введения дизъюнкции 187
введения импликации 187
введения квантора всеобщности 188
введения квантора существования 188
введения конъюнкции 187
введения отрицания 187
вывода 95
вывода исчисления высказываний 96
переименования связанных предметных
переменных 186
переноса квантора через отрицание 158
перестановки 188
подстановки 184
разъединения посылок 110
расширения 188
сведения к противоречию 188
связывания квантором 186, 189
силлогизма 189
соедииеиия посылок НО
сокращения 188
удаления дизъюнкции 187
удаления импликации 187
удаления квантора всеобщности 188
удаления квантора существования 188
удаления конъюнкции 187
удаления отрицания 188
утоичеиия 188
Правило вывода:
допустимое 97
правило введения дизъюнкции 96
правило введения импликации 96
правило введения конъюнкции 96
правило введения отрицания 96
правило коитрпозиции 100
правило одновременной подстановки 99
правило перестановки 97
правило подстановки 97
правило простого заключения 97
правило расширения 97,103
правило сведения к противоречию 96
правило силлогизма 99
правило сложного заключения 99
правило снятия двойного отрицания 101
правило сокращения 97
правило удаления выводимой
гипотезы 103
правило удаления дизъюнкции 96
правило удаления импликации 96
правило удаления импликации 103
правило удаления конъюнкции 96
правило удаления отрицания 96
правило утончения 96
Практический признак расходимости
рядов 364
Предикат 142
многоместный 142
множество истинности 142
нульместный 142
область определения 142
одноместный 142
предметная область 142
тождественно истинный 142
тождественно ложный 142
Предметная область 168
Признак Лейбница 178
Принцип нормализации 217
Проблема:
независимости 136
полноты 135
разрешимости 42,135
Производная:
t-ro порядка 54
первого порядка 53
смешанная 54
Производные понятия 4
Пропозициональные связки 8
Р
Разделители 10
Ранги логических связок 8
Рассуждение
правильное 15
Резольвента
бинарная 205
дизъюнктов 132
Резолютивный вывод 132
Резолюция 204
Рекурсия:
возвратная 219
примитивная 219
Реле с размыкающим контактом 74
Релейно-контактные схемы (РКС) 73
С
Свойства совершенства 27
Свойство взаимности 33
Связки исчисления высказываний 8
Секвенция 95
доказуемая 98
Сигнатура 149
Символ следования 94
Символы алфавита 10
Система булевых функций
полная 48
Система функций
независимая 53
Склейка 205
Следствие 7
Словарная минимизация 242
Словарное множество 239
Слово 10, 94, 217
длина 94
пустое 94
Сложность булевой функции 77
Совершенная конъюнктивная
нормальная форма (СКНФ) 30
Совокупность рекурсивных функций 216
Соединение слов 94
Субъект 142
Суперпозиция:
первого ранга 25
элементарная 25
Схема:
примитивной рекурсии 219
элементарная 76
Схема из функциональных
элементов (СФЭ) 71
допустимая 71
многотактная 73
нультактпая 73
правильная 73
Т
Таблицы Поста 52
Тавтология 14
Такт 73
Тезис:
Тьюринга 217, 248
Черча 217, 231
Теорема 4
большая теорема Ферма 152
Вейерштрасса 178
взаимно противоположные теоремы 173
взаимно-обратные теоремы 173
Геделя 197
дедукции 96, 106
заключение 170
Квайна39
Лагранжа 170
о выводимости 124
о мажорируемых неявных
функциях 232
о полноте метода резолюций 132. 207
о среднем для определенного
интеграла 178
обратная 173
Поста о функциональной
полноте 51
прямая 173
Р. Робинсона 235
разъяснительная часть 170
Ролля 178
условие 170
Черча 163
Эрбрапа 205
Теория нормальных алгоритмов
Маркова 217
Терм 149
У
Универсум Эрбрана 204
Унификатор 201
наиболее общий (простейший) 201
Унификация 200
Усеченная разность 62
Условие 7
достаточное 175
необходимое 175
Условия совершенства ДНФ 28
Ф
Формула 10
алгебры логики 10 атомарная 94
в исчислении предикатов 182 выполнимая 14, 42, 160 доказуемая 98 замкнутая 150 замыкание общности 164 замыкание существования 164 исчисления высказываний 94 литеральная 150 логики предикатов 150 монотонно возрастающая 120 монотонно убывающая 120 общезначимая 160 опровержимая 14 отрезаемая 205 противоречивая 14 тождественно истинная 160 тождественно ложная 14 универсальная 159 эквивалентная 121 элементарная 94
Формулы:
дедуктивно эквивалентные 196 равносильные 11 эквивалентные 193
Функциональная схема тыоринговая 246
Функционально замкнутый класс предполный 53
Функциональные элементы эквивалентные 72
Функциональный элемент 71
Функция:
А-значной логики 59
алгебры логики и переменных 23 бесконечно малая 168
Буля 23
Вебба 63 вычислимая 216 двойственная 32, 33
Дирихле 176
компоненты разложения 26
линейная 50 монотонная 50
монотонно возрастающая 177
неопределенная 229
обратная 230 общерекурсивная 220 периодическая 177
предел 178
примитивно рекурсивная 220
проводимости 75
разложение 26 разрешающая 198 рекурсивная 216 самодвойственная 32
Скулема 198
словарная простейшая 241
существенная 65
характеристическая второго рода 61 частично рекурсивная 220, 231 четная 169
Шеннона 77
эффективно вычислимая 218
ц
Цепное рассуждение 14
Цепь существенная 75
Цикл 72
Ш
Штрих Шеффера 9
Э
Эквиваленция 8
Эквивалетность8
Элементарное поглощение 39
Швпорзв Сергей Дмытркезкч. докторфиз ко-мвг магических наук, / ) профессор, заведующий кафедрой прикладной математжи и ицфер- 1 L магики Балтийского государственного твхтмческого университета "Во- 'V” вгнеХ". Член вссоциации матемэтикоо вузов Северо-Запада. Автор ^^КЗ^ь более 50 работ по небесной механике и вычислительной математика.
МАТЕМАТИЧЕСКАЯ ЛОГИКА
КУРС ЛЕКЦИЙ И ПРАКТИЧЕСКИХ ЗАНЯТИЙ
Пособив построено как учебный курс для чтения лекций и проведения практических занятий Весь материал, представленный достаточно сжато, дается на основе аксиоматического метода. Рассматриваются методы математической логики в их классическом изложении, а также вопросы определения понятия алгоритма через рекурсивные функции и машины Тьюринга. Для всех авдеч, предложенных в книге приводятся ответы, а для больнинства из них и решения Пособив написано нв высоком научном и методическом уровне и в то же время доступно длн понимания студентами, обучающимися по соответствующим сгтециатъностям Также книга может быть полезна аспирантам и преподавателям тактических вузов изучающим математическую логику как фун-
** Готфрид Вильгельм Лейбниц (1646-1716) — немецкий математик.
В Рк, как ив Р2, вводятся понятия существенной и несущественной (фик-
Августин Луи Коши (1789-1857) — французский математик.
МАТЕМАТИЧЕСКАЯЛОГИКА
КУРС ЛЕКЦИЙ И ПРАКТИЧЕСКИХ ЗАНЯТИЙ
Алгебра и исчисление высказываний
Логика и исчисление предикатов
Рекурсмвиь е функции и машины Тьюринга
400 задач с решениями и ответами
УЧЕБНОЕ ПОСОБИЕ ($6у
С. Д. Шапорев
МАТЕМАТИЧЕСКАЯ ЛОГИКА
КУРС ЛЕКЦИЙ И ПРАКТИЧЕСКИХ ЗАНЯТИЙ
УДК 681.3.06+519.6(075.8)
ББК 32.973я73
Ш24
Шапорев С. Д.
Ш24 Математическая логика. Курс лекций и практических занятий. — СПб.: БХВ-Петербург, 2005. — 416 с.: ил.
ISBN 5-94157-702-8
В учебном пособии представлены разделы, традиционно изучаемые в курсе математической логики: алгебра логики и исчислеиие высказываний, логика и исчисление предикатов, рассмотрены вопросы содержательного и формального определения логики высказываний и логики предикатов. Дается введение в теорию алгоритмов и вычислимых функций- Содержание разделов книги взаимно связано друг с другом и снабжено большим количеством примеров и решенных задач, помогающих усвоить и закрепить излагаемый материал.
Для студентов, аспирантов и преподавателей технических вузов
УДК 681.3.06+519.6(075.8)
ББК 32.973я73
Рецензенты:
Попов М. С. — доктор технических наук, профессор, заведующий кафедрой высшей математики Балтийского государственного технического университета "Военмех" (БГТУ)
Дегтярев В. Г. — доктор технических наук, профессор, заведующий кафедрой высшей математики Петербургского государственного университета путей сообщения (ПГУПС)
Группа подготовки издания:
Главный редактор Зам. гл. редактора Зав. редакцией РедакторКомпьютерная верстка КорректорДизайн обложки Зав. производствомГлавный редактор Зам. гл. редактора Зав. редакцией РедакторКомпьютерная верстка КорректорДизайн обложки Зав. производствомЕкатерина Кондукова Людмила Еремеевская Григорий Добин Наталья Довгулевич Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай ТверскихЕкатерина Кондукова Людмила Еремеевская Григорий Добин Наталья Довгулевич Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай Тверских
Главный редактор Зам. гл. редактора Зав. редакцией Редактор
Компьютерная верстка Корректор
Дизайн обложки Зав. производством
Главный редактор Зам. гл. редактора Зав. редакцией Редактор
Компьютерная верстка Корректор
Дизайн обложки Зав. производством
Екатерина Кондукова Людмила Еремеевская Григорий Добин Наталья Довгулевич Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай Тверских
Екатерина Кондукова Людмила Еремеевская Григорий Добин Наталья Довгулевич Натальи Караваевой Виктория Пиотровская Игоря Цырульникова Николай Тверских
Лицензия ИД Ne 02429 от 24.07.00. Подписано в печать 27.09.05.
Формат 70х100*/1в. Печать офсетная. Усл. печ. л. 33,54.Тираж 3000 экз. Заказ Ne 4306"БХВ-Петербург", 194354, Санкт-Петербург, ул. Есенина, 5Б.
Санитарно-эпидемиологическое заключение на продукцию№ 77.99.02.953.Д.006421.11.04 от 11.11.2004 г. выдано Федеральной службойпо надзору в сфере защиты прав потребителей и благополучия человека.
Отпечатано с готовых диапозитивовв ГУП "Типография "Наука*199034, Санкт-Петербург, 9 линия, 12
© Шапорев С. Д„ 2005
© Оформление, издательство "БХВ-Петеобург". 2005
Оглавление