close

Вход

Забыли?

вход по аккаунту

?

Shaporev

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное
образовательное учреждение высшего образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
С. Д. Шапорев
ИЗБРАННЫЕ РАЗДЕЛЫ
МАТЕМАТИЧЕСКОЙ ЛОГИКИ
Учебное пособие
УДК 510.6(075)
ББК 22.12я73
Ш24
Рецензенты:
кандидат технических наук, доцент А. А. Ключарёв;
кандидат физико-математических наук, профессор Б. П. Родин
Утверждено
редакционно-издательским советом университета
в качестве учебного пособия
Шапорев, С. Д.
Избранные разделы математической логики: учеб. пособие / С. Д. Шапорев. – СПб.: ГУАП, 2018. – 288 с.
ISBN 978-5-8088-1270-3
Рассмотрены основные разделы курса математической логики:
алгебра логики, исчисление высказываний, логика и исчисление
предикатов. Автор уделил особое внимание доступности материала.
Основной текст снабжен большим количеством примеров.
Во второй части приведены решения почти всех задач, предложенных на практических занятиях, причем развернутые решения некоторых из них дополняют основной курс, изложенный в первой части.
Пособие полезно для знакомства с основными направлениями и
методами математической логики и теории алгоритмов и предназначено для студентов технических вузов и читателей, интересующихся
проблемами математической логики
УДК 510.6(075)
ББК 22.12я73
Учебное издание
Шапорев Сергей Дмитриевич
ИЗБРАННЫЕ РАЗДЕЛЫ
МАТЕМАТИЧЕСКОЙ ЛОГИКИ
Учебное пособие
Публикуется в авторской редакции
Компьютерная верстка А. Н. Колешко
Сдано в набор 30.03.18. Подписано к печати 20.04.18. Формат 60 × 84 1/16.
Усл. печ. л. 16,8. Тираж 50 экз. Заказ № 176.
Редакционно-издательский центр ГУАП
190000, Санкт-Петербург, Б. Морская ул., 67
ISBN 978-5-8088-1270-3
© Шапорев С. Д., 2018
© Санкт-Петербургский государственный
университет аэрокосмического
приборостроения, 2018
ЧАСТЬ I.
1. АЛГЕБРА ЛОГИКИ (АЛГЕБРА ВЫСКАЗЫВАНИЙ)
§ 1.1. Введение
Формальная логика существует уже более двух тысячелетий. Зачатки логики явно прослеживаются в работах Аристотеля1. Идеи о
построении логики на математической основе, то есть по сути математической логики были высказаны Лейбницем2 в начале 18-го
века.
Впервые идеи Лейбница реализовал Д. Буль3 в 40-х годах девятнадцатом столетия. Он создал алгебру, в которой буквами обозначены высказывания, и это привело к алгебре высказываний. Применение математики к логике позволило представить логические теории в новой удобной форме и применить вычислительный аппарат
к решению задач, малодоступных человеческому мышлению из-за
особенностей человеческой психики.
Современная математическая логика определяется как раздел математики, посвященный изучению математических доказательств и вопросов основания математики [1, 2]. Одна из главных
причин широкого распространения математической логики – применение аксиоматического метода в построении различных математических теорий. В нем сначала выбираются некоторые понятия, которые не определяются, а лишь поясняются. Затем без доказательства принимается некоторый набор аксиом, а уже потом из
этих аксиом логически строго выводятся и доказываются все оставшиеся положения теории. Самым ранним примером аксиоматической теории являются «Начало» Евклида4. Однако система аксиом,
положенная Евклидом в основу теории, не является единственной и
содержит небесспорный пятый постулат (аксиому о параллельных
прямых). Это не означает, что построенная затем теория (классиче-
1
2
3
4
Аристотель (384–322 до н.э.) – древнегреческий математик.
Готфрид Вильгельм Лейбниц (164 –1716) – немецкий математик.
Джордж Буль (1815–1864) – английский математик и логик.
Евклид Александрийский (около 325 – около 265 до н.э.) – древнегреческий
математик.
3
ская геометрия) была неверной, но указывает на возможность построения иных геометрий (геометрии Лобачевского1, например).
Отличительная черта математической логики – использование
доказательств, а не наблюдений [3]. Однако ясно, что невозможно
доказать все математические законы, так как самые первые из них
не могут быть доказаны: нет более ранних законов, из которых они
могут быть выведены. Поэтому необходимо выбрать некоторые начальные законы, называемые аксиомами, которые принимаются
без доказательств, остальные законы – теоремы могут быть доказаны исходя из аксиом.
К системе аксиом предъявляется одно непременное требование – она должна быть непротиворечивой. Это значит, что из данной системы аксиом (непротиворечивой) нельзя логическим путем
вывести два противоречащих друг другу утверждения. Основным
методом доказательства непротиворечивости является метод моделирования, или метод интерпретаций, который строится для математических теорий на базе теории множеств.
С математическими понятиями происходит процесс сведения
сложных понятий к простым. Многие из них можно определить
в терминах других понятий. Но опять самые первые понятия не
могут быть определены, так как нет более ранних понятий, в терминах которых их можно было бы определить. Поэтому нужно выбрать некоторые понятия, называемые основными, которые будут
лишь поясняться, оставаясь формально неопределенными. Остальные понятия, называемые производными, определяются в терминах основных.
Совокупность основных и производных понятий, аксиом и теорем называется аксиоматической системой. Все составляющие аксиоматической системы могут рассматриваться с двух точек зрения:
в виде объекта, имеющего собственную внутреннюю структуру, или
в виде предложения, выражающего определенный факт. Изучение
внутренней структуры аксиом и теорем называется синтаксическим изучением аксиоматических систем, изучение их – смысла –
семантическим изучением.
Современная теория множеств – база математической логики –
не содержит «парадоксов» (типа парадокса Рассела о «нормальном»
множестве), однако средства этой аксиоматической теории не позволяют доказать ее непротиворечивость.
1
4
Николай Иванович Лобачевский (1792–1856) – русский математик.
§ 1.2. Операции над высказываниями
Учение о высказываниях – алгебра высказываний или алгебра
логики является простейшей логической теорией. Она рассматривает конечные конфигурации символов и взаимоотношения между
ними. Знакомство с законами алгебры высказываний облегчает изучение более сложных логических исчислений [4].
Высказывание – это всякое повествовательное предложение, утверждающее что-либо о чем-либо, при этом непременно истинное
или ложное. Логическими значениями высказываний являются
«истина» и «ложь», обозначаемые 1 и 0. Высказывание – это те первичные понятия теории, которые не определяются строго, а лишь
поясняются.
Высказывания, представляющие собой одно утверждение, называются простыми или элементарными, высказывания, получающиеся из элементарных с помощью грамматических связок «не»,
«и», «или», «если… , то…», называются сложными. Эти названия не
носят абсолютного характера, высказывания, которые в одной ситуации можно считать простыми, в другой ситуации будут сложными. В алгебре высказываний исследуется вопрос об истинности
сложного высказывания в зависимости от истинности входящих
в него простых высказываний. При этом необходимо иметь в виду,
что высказывание может быть истинно в определенной ситуации.
Эта ситуация может быть определена или не определена в самом высказывании. Существуют высказывания истинные (или ложные)
во всех возможных ситуациях. Такие высказывания называются
абсолютно истинными (соответственно абсолютно ложными). Абсолютно истинные и абсолютно ложные высказывания называются
логическими константами. В алгебре логики все высказывания рассматриваются только с точки зрения их логического значения, житейское содержание игнорируется. Каждое высказывание может
быть либо истинным, либо ложным, ни одно высказывание не может быть одновременно истинным и ложным. Элементарные высказывания обозначаются строчными буквами латинского алфавита:
а, b, с. Из высказываний с помощью логических связок образуются новые высказывания. Рассмотрим теперь несколько логических
связок.
1. Отрицанием высказывания x называется новое высказывание, которое является истинным, если высказывание x ложно, и
ложным, если x – истинно. Обозначается x, читается «не x» или
5
«неверно, что x». Все логические значения высказывания x можно
описать с помощью табл. 1.2.1. Если x – высказывание, то x – противоположное высказывание. Тогда можно образовать õ, которое
называется двойным отрицанием высказывания. Логические значения õ, очевидно, совпадают со значениями x. Эта операция одноместная – в том смысле, что из одного данного простого высказывания x строится новое высказывание x.
2. Логическое умножение (конъюнкция). Конъюнкцией двух
высказываний x и y называется новое высказывание z, которое истинно только когда оба высказывания x и y истинны, и ложно, когда хотя бы одно из x и y ложно. Обозначается x&y или x∧y, читается
«x и y». Таблица истинности конъюнкции дана в табл. 1.2.2.
Таблица 1.2.1
x
x
1
0
0
1
Таблица 1.2.2
x
y
x∧y
1
1
1
1
0
0
0
1
0
0
0
0
Из определения операции конъюнкции видно, что союз «и» в алгебре логики употребляется в том же смысле, что и в повседневной
речи. Однако в алгебре логики этой связкой можно связывать любые, сколь угодно далекие по смыслу высказывания.
Конъюнкцию часто называют логическим умножением. В современной математике слово «умножение» часто обозначает различные математические операции, обладающие свойствами, более
или менее похожими на свойства арифметического умножения.
При построении таблицы истинности использовался союз «и». Однако результат был бы тот же самый, если бы были взяты союзы
«а», «но», «однако», «хотя» и тому подобное. Таким образом, хотя
соответствующие этим союзам логические связки имеют различные смысловые оттенки, с точки зрения алгебры высказываний
они неразличимы.
3. Логическое сложение (дизъюнкция). Дизъюнкцией двух высказываний x и y называется новое высказывание, которое считается истинным, если хотя бы одно из высказываний x и y истинно,
и ложным, если они оба ложны. Обозначается x∨y, читается «x или
y». Логические значения дизъюнкции описываются в табл. 1.2.3:
6
Таблица 1.2.3
Таблица 1.2.4
x
y
x∨y
x
y
x→y
1
1
1
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
В повседневной речи союз «или» употребляется в различном
смысле: исключающем и не исключающем. В алгебре же логики
связка «или» употребляется всегда в не исключающем смысле (объединяющем смысле). Аналогично в латинском языке имеется союз
«vel» для включительной дизъюнкции и «aut» для разделительной.
Символ ∨ происходит от первой буквы союза «vel».
4. Импликация или логическое следование. Импликацией двух
высказываний x и y называется новое высказывание, которое считается ложным, когда x истинно, а y ложно, и истинным во всех
остальных случаях. Обозначается x→y, читается «если x, то y» или
«из x следует y». Высказывание x называется условием, посылкой
или антецедентом, высказывание y следствием, заключением или
консеквентом. Таблица истинности этой операции приведена в табл.
1.2.4. Из таблицы истинности видно, что если условие x – истинно,
и истинна импликация x→y, то верно, и заключение y. Это классическое правило вывода, постоянно используется в математике, при
переходе от одних высказываний к другим, с помощью доказываемых теорем, которые, как правило, имеют форму импликаций. Распространенная ошибка в математических рассуждениях состоит
в том, что к высказыванию x, истинность которого не установлена,
применяется правильная теорема x→y и из истинности предложения y делается вывод об истинности x.
В обыденной речи высказывания типа «если x, то y» носит объясняющий характер. Оно как бы разъясняет, почему имеет место
событие y – потому, что имело место событие x. Объясняющий характер импликации тесно связан с причинно-следственным отношением, при котором x выступает в роли причины, а y – следствия.
Употребление слов «если…, то…» в алгебре логики отличается от
употребления их в обыденной речи, где по обыкновению считают,
что если x – ложно, то y вообще не имеет смысла. Кроме того, в обыденной речи подразумевается, что из предложения x всегда выте7
кает y. В математической логике последнего не требуется, так как
смысл высказываний игнорируется, кроме их свойств быть истинными или ложными. В случае импликации несоответствие между
обычным пониманием истинности сложного высказывания и идеализированной точкой зрения алгебры высказываний еще заметнее,
чем для других логических операций. Здесь истинность импликации в некоторой ситуации означает лишь, что если в этой ситуации
истинна посылка, то истинно и заключение.
5. Эквиваленция (эквивалентность, логическая эквивалентность). Эквиваленцией двух высказываний x и y называется новое
высказывание, которое истинно, когда оба высказывания x и y либо
одновременно истинны, либо одновременно ложны, и ложно во всех
остальных случаях. Обозначается x↔y, читается «для того, чтобы
x, необходимо и достаточно, чтобы y» или «x тогда и только тогда,
когда y». Эквивалентность играет значительную роль в математических доказательствах. Известно, что большое число теорем формулируется в форме необходимых и достаточных условий. Это теоремы существования. Например, «для того, чтобы два вектора a и b
были линейно зависимы, необходимо и достаточно, чтобы они были
коллинеарны». Логические значения операции эквиваленции описываются в табл. 1.2.5.
Символы
, ∧, ∨, →, ↔ называются пропозициональными
связками или связками исчисления высказываний. Вместо употребляемого нами знака ↔ часто пишут ∼ или ≡, вместо → пишут ⊃,
вместо ∧ & или часто употребляют точку, причем точку иногда опускают, вместо употребляют знак ¬ перед высказыванием. Логическим связкам приписываются ранги в следующем порядке убывания старшинства: , ∧, ∨, →, ↔ . Таким образом, связка более
высокого ранга имеет бóльшую область действия.
Не следует думать, что этим набором исчерпываются все логические связки. Например, существует такая операция, как штрих
Таблица 1.2.5
8
Таблица 1.2.6
x
y
x↔y
x
y
xy
1
1
1
1
1
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
Таблица 1.2.7
Таблица 1.2.8
x
x
xx
x
x
y
xy
xy
(xy)|(xy)
x∧y
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
Шеффера1. Она обозначается символом xy и определяется следующей таблицей истинности (табл. 1.2.6).
Как мы покажем в дальнейшем всякую формулу алгебры логики
путем эквивалентных преобразований можно заменить формулой,
содержащей только две логические операции: конъюнкцию и отрицание или дизъюнкцию и отрицание. Дальнейшее исключение
логических операций невозможно. Операция же штрих Шеффера
характерна тем, что с ее помощью может быть выражена любая из
пяти операций. Например, x = x x . Таблица истинности для этой
формулы приведена в табл. 1.2.7.
Для операции конъюнкции, например, выражение через штрих
Шеффера имеет вид x ∧ y =
( x y ) ( x y ). Его таблица истинности дана
в табл. табл. 1.28.
§ 1.3. Формулы алгебры логики
С помощью логических операций над высказываниями можно
строить различные новые, более сложные высказывания. Обычно
при этом порядок операций указывается скобками. Определим понятие формулы логики высказываний. Первой частью любой формальной системы является ее язык. Чтобы определить язык, нужно, прежде всего, определить алфавит и его символы.
Алфавитом будем называть любое непустое множество. Элементы этого множества называются символами данного алфавита. Любая конечная последовательность символов алфавита называется словом или выражением данного языка. Алфавит логики
высказываний содержит такие символы: высказывания – буквы
латинского алфавита с индексом или без него, логические связки
∧, ∨, → , ↔ , , разделители ( , ).
1
Генри Мориц Шеффер (1882–1964) – английский математик и логик.
9
Слово в алфавите логики высказываний называется формулой,
если оно удовлетворяет следующим условиям:
1) любое высказывание (высказывательное переменное) – формула;
2) если A и B формулы, то A, A∧B, A∨B, A→B, A↔B – тоже формула.
Подформулой формулы A называется любое подслово A, само являющееся формулой. Таким образом, из приведенного формального
определения формулы как определенной конструкции языка алгебры логики можно определить более простое понятие формулы.
Всякое сложное высказывание, которое может быть получено из
элементарных высказываний с помощью логических связок, называется формулой алгебры логики.
Формулы алгебры логики обозначаются большими буквами латинского алфавита А, В, С,… При этом скобки можно опускать, придерживаясь следующих правил: конъюнкция выполняется прежде
всего, дизъюнкция выполняется второй, импликация и эквиваленция равноправны и выполняются последними. Каждая формула
алгебры логики принимает свое логическое значение, которое определяется логическими значениями входящих в нее элементарных
высказываний. Например, составим таблицу истинности для формулы ( x → y ) → x ∧ y ∨ x → y . Получим табл.1.3.1.
(
)
Таблица 1.3.1
x
y
x
y
x∧y
x∧y∨x
x∧y∨x → y
x∨y
Итог
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
Если формула состоит из n элементов, то ее таблица истинности
состоит из 2n строк.
Приписывание значений истинности или ложности высказываниям, входящим в формулу, называется интерпретацией этих высказываний. Под интерпретацией формулы понимается приписывание значений истинности высказываниям, входящим в эту формулу.
10
§ 1.4. Равносильные группы формул
и равносильные преобразования
Две формулы алгебры логики A и B называются равносильными,
если они принимают одинаковые логические значения при любом
наборе значений входящих в формулы элементарных высказываний. Равносильность обозначается знаком ≡. Очевидно, например,
x ≡ x, x ∨ x ≡ x и так далее.
Между понятием равносильности и знаком эквивалентности ↔
существует следующая связь: если формулы A и B равносильны, то
формула A↔B принимает значение 1 при всех значениях переменных, и обратно: если формула A↔B принимает значений 1 при всех
значениях входящих в нее высказываний, то формулы A и B равносильны, то есть A≡B. При этом следует помнить, что знак ↔ является символом формального языка, с помощью которого строятся
формулы, а символ ≡ заменяет слово равносильно.
Для любых формул A, B, C справедливы следующие равносильности.
I. Основные равносильности:
1. A∧A≡A – закон идемпотентности конъюнкции.
2. A∨A≡A – закон идемпотентности дизъюнкции.
3. A∧1≡A, 1 – истина.
4. A∨1≡1.
5. A∧0≡0, 0 – ложь.
6. A∨0≡0.
7. A ∧ A ≡ 0 – закон противоречия. (1.4.1)
8. A ∨ A ≡ 1 – закон исключенного третьего.
9. A ≡ A – закон снятия двойного отрицания.
10. A∧(B∨A)≡A – первый закон поглощения,
11. A∨(A∧B)≡A – второй закон поглощения,
(
)
13. A ≡ ( A ∨ B ) ∧ ( A ∨ B ) – вторая формула расщепления.
12. A ≡ ( A ∧ B ) ∨ A ∧ B – первая формула расщепления,
Все эти соотношения легко проверяются по таблицам истинности.
II. Равносильности, выражающие одни логические операции
через другие:
(
) (
) (
)
1. A ↔ B ≡ ( A → B ) ∧ ( B → A ) ≡ ( A ∧ B ) ∨ A ∧ B ≡ A ∨ B ∧ B ∨ A –
основная формула доказательств теорем существования,
11
(
)
2. A → B ≡ A ∨ B ≡ A ∧ B ,
3. A ∨ B ≡ A → B ≡ A ∧ B,
(
)
4. A ∧ B ≡ A → B ≡ A ∨ B,
(1.4.2)
5. A ∧ B ≡ A ∨ B – первый закон де
6. A ∨ B ≡ A ∧ B – второй закон де Моргана,
Моргана1,
7. A ∧ B ≡ A ∨ B,
8. A ∨ B ≡ A ∧ B.
Именно из равносильностей этой группы формул следует, что
всякую формулу алгебры логики можно заменить равносильной ей
формулой, содержащей только две логические операции: конъюнкцию и отрицание или дизъюнкцию и отрицание.
III. Равносильности, выражающие основные законы алгебры
логики:
1. A∧B≡B∧A – коммутативный закон конъюнкции.
2. A∨B≡B∨A – коммутативный закон дизъюнкции.
3. A∧(B∧C)≡(A∧B)∧C – ассоциативность конъюнкции.
(1.4.3)
4. A∨(B∨C)≡(A∨B)∨C – ассоциативность дизъюнкции.
5. A∧(B∨C)≡(A∧B)∨(A∧C) – дистрибутивность конъюнкции относительно дизъюнкции.
6. A∨(B∧C)≡(A∨B)∧(A∨C) – дистрибутивность дизъюнкции относительно конъюнкции.
Любая из равносильностей легко может быть доказана с помощью таблиц истинности. Часто равносильность произвольной формулы логики высказываний экономнее доказывать без составления
таблицы, с помощью логического рассуждения и упрощения формулы с использованием приведенных равносильностей. При этом
обычно операции эквивалентности и импликации заменяют операциями конъюнкции и дизъюнкции, а отрицание относят к элементарным высказываниям.
Можно еще упростить запись формул, опуская некоторые скобки
и используя старшинство логических связок. Кроме того, знак отрицания, стоящий над формулой, делает излишними скобки, в которые она заключена.
1
12
Огастес Морган (де Морган)(1806–1875) – шотландский математик и логик.
Отношение равносильности есть отношение эквивалентности.
Оно рефлексивно, так как для любой формулы A A≡A; симметрично, так как для любых формул A и B, если A≡B, то B≡A; транзитивно, так как для любых формул A, B, C, если A≡B и B≡C, то A≡C.
Рассмотрим несколько примеров.
(
) ( ) ( )
≡ ( x ∨ y ) ∧ ( y ∨ z) ∨ (z ∨ x ) ≡ ( x ∨ y ) ∨ ( y ∨ z) ∨ (z ∨ x ) ≡
≡ ( x ∧ y ) ∨ ( y ∧ z) ∨ ( z ∨ x ) ≡ ( x ∧ y ) ∨ ( y ∧ z) ∨ ( z ∨ x ) ≡
≡ x ∨ ( x ∧ y ) ∨ z ∨ ( y ∧ z ) ≡ x ∨ z.
 
1. ( x → y ) ∧ ( y → z ) → ( z → x ) ≡ x ∨ y ∧ y ∨ z → z ∨ x ≡
x
(
z
)
2. x ∧ x ∧ x → y ∧ y → z ∨ x ∨ ( y ∧ z ) ∨ ( y ∧ z ) ≡
(
)
(
)
≡ x ∧ 0 → 0 → z ∨ x ∨ (y ∧ z) ∨ (y ∧ z) ≡ x ∧ 0 → 0 → z ∨ x ∨ (y ∧ z) ≡
≡ (x ∧ 0 → z) ∨ x ∨ (y ∧ z) ≡ 0 ∨ z ∨ x ∨ (y ∧ z) ≡
≡ 1 ∨ x ∨ ( y ∧ z ) ≡ 1 ∨ ( y ∧ z ) ≡ 1.
3. Доказать равносильность ( x ∨ y ) ∧ ( x ∨ y ) ≡ x.
(x ∨ y) ∧ (x ∨ y ) ≡ x ∧ x ∨ y ∧ x ∨ x ∧ y ∨ y ∧ y ≡
≡ x ∨ y ∧ x ∨ x ∧ y ≡ x ∧ (1 ∨ y ∨ y ) ≡ x (1 ∨ 1) ≡ x.
Приведем теперь несколько правил, с помощью которых можно
переходить от одних равносильностей к другим.
Теорема 1.1. Пусть A≡B и C- произвольная формула. Тогда A ≡ B,
A∧C≡B∧C, C∧A≡C∧B, A∨C≡B∨C, C∨A≡C∨B, A→C≡B→C, C→A≡C→B,
A↔C≡B↔C, C↔A≡C↔B.
Докажем, например, формулу A∨C≡B∨C. Так как A≡B, то при
одинаковом наборе входящих в них простых высказываний A и B
принимают одинаковые логические значения. Пусть, например, это
будет 1. Пусть при том же наборе значение C равно 0. Тогда обе части
рассматриваемой равносильности принимают одно и то же значение
1∨0≡1∨0.
Теорема 1.2. Пусть A≡B и C – формула, в которой выделено одно
вхождение переменной xi. Пусть C(A) получается из C заменой это13
го вхождения xi на A, а C(B) – из C заменой того же вхождения xi на
B. Тогда C(A)≡C(B).
Оставим данную теорему без доказательства, отметим только,
что любой символ алфавита может несколько раз появиться в данной формуле. Каждое такое появление называется вхождением этого символа в формулу.
Теорема 1.3. Пусть C(A) – формула, содержащая A в качестве
своей подформулы. Пусть C(B) получается из C(A) заменой A в этом
вхождении на B. Тогда, если A≡B, то C(A)≡C(B).
Формула A называется тавтологией (тождественно истинной),
если она принимает значение 1 при всех значениях входящих в нее
переменных. Формула A называется тождественно ложной или противоречивой, если она равна 0 при всех значениях входящих в нее
переменных.
Формула A называется выполнимой, если при каком-то наборе
входящих в нее переменных она принимает значение 1.
Формула A называется опровержимой, если при каком-то наборе
входящих в нее переменных она принимает значение 0.
С точки зрения логики тавтологии – это логические законы, так
как они принимают истинные значения при любом наборе переменных. В практических вычислениях часто используют следующие
тавтологии (A, B, C - произвольные формулы).
1. A ∨ A – tertium nondatur – закон исключенного третьего.
2. A→A.
3. A→(B→A).
4. (A→B)→((B→C)→(A→C)) – цепное рассуждение.
5. (A→(B→C))→((A→B)→(A→C)).
(1.4.4)
6. (A∧B)→A, (A∧B)→B.
7. A→(B→A∧B).
8. A→(A∨B), B→(A∨B).
9. B → A → B → A → B .
10. ((A→B)→A)→A – закон Пирса1.
Эти формулы тоже можно легко проверить по таблицам при произвольных значениях A, B, C. При доказательстве утверждений
различных математических теорий обычно используют рассуждения, которые на языке логики можно выразить формулами. При
этом рассуждение называется правильным, если из конъюнкции
посылок следует заключение, то есть всякий раз, когда все посылки
(
1
14
) ((
)
)
Чарлз Пирс (1839–1914) – американский математик и логик.
истинны, заключение тоже истинно. Правило вывода заключения
в этом случае можно записать в виде
P1, P2,..., Pn
,
P
где P1, P2,…, Pn – посылки, причем запись P1, P2,…, Pn понимается
как P1∧P2∧…∧Pn, P – заключение.
Распространенные схемы правильных рассуждений:
A → B, A A → B, B
,
.
B
A
(
)
Легко проверить, что формулы ((A→B)∧A)→B и ( A → B ) ∧ B → A
являются тождественно истинными. Например, логические значения последней при всех наборах аргументов приведены в табл. 1.4.1.
Таблица 1.4.1
A
B
A
B
A→B
( A → B) ∧ B
(( A → B) ∧ B) → A
1
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
1
Один из способов доказательства математических предложений – метод доказательства от противного. Предположим, что некоторое утверждение в форме импликации A→B ложно. Тогда необходимо прийти к противоречию, то есть доказать, что другое утверждение C одновременно выполняется и не выполняется.
Доказательство выполняется по следующей схеме:
(
) (
) (
)
A → B ≡ ( A → B) → C ∧ C ≡ A ∧ B → C ∧ C . (1.4.5)
Приведем в заключение еще две более простые схемы доказательства от противного:
(
(
)
)
A → B ≡ A ∧ B → A ,


 A → B ≡ A ∧ B → B .
(1.4.6)
15
§ 1.5. Практическое занятие № 1. Алгебра высказываний [5]
1.5.1 Среди следующих предложений выделить те, которые являются высказываниями, и установить, если это возможно, истинны они или ложны:
1) Для произвольных множеств A и B верно включение A⊂A∪B.
2) Сумма углов в треугольнике равна 180°.
3) 2 ∈ N.
4) Солнечная система насчитывает девять больших планет.
5) На улице светит солнце.
6) Летайте самолетами Аэрофлота!
7) Всякое подмножество конечного множества конечно.
1.5.2. Даны два высказывания:
1) p={число 3 является делителем числа 174}, q={идет дождь}. В чем
заключаются высказывания p, p ∨ q, p ∧ q, p → q, p → q, p ↔ q ?
2) p={конъюнкция коммутативна}, q={если число простое, то оно нечетное}. В чем заключаются высказывания
q, q → p, p ∧ q → p, ( q ∨ p ) → q ? Какие из этих высказываний истинны, а какие ложны?
1.5.3. Какие из следующих утверждений являются высказываниями и какие из высказываний истинны и какие ложны?
1) Сумма корней приведенного квадратного уравнения равна свободному члену.
2) Сумма корней любого приведенного квадратного уравнения
равна свободному члену.
3) Существует приведенное квадратное уравнение, сумма корней
которого равна свободному члену.
1.5.4. В каких случаях приведенные ниже данные противоречивы:
1) a=1, a∧b=1;
2) a=0, a∧b=1;
3) a=1, a∨b=0;
4) a=0, a∨b=1.
1.5.5. Определить, является ли данная последовательность формулой:
1) ( A0 ∧ A1 ) A2 A3;
(
)
( ( A3 → A0 ) ∧ A0 );
3) ( A0 → A1 ) → A1 ∨ A3;
2)
4) A1∧A2→A3 A1;
5) (A1→A2)∨(A1→A2∧A1).
16
1.5.6. Выписать все подформулы следующих формул:
1) ( ( A0 → A1 ) ∧ ( A1 → A2 ) ) → A0 ∨ A2;
2) A1 → A2 ↔ ( A2 ↔ A3 );
3) A1∧(A2∨A3∧(B∨C)).
1.5.7. Проверить, не составляя таблиц истинности, являются ли
следующие формулы тождественно истинными:
1) p → p;
2) p → p ∧ p → p ∧ p ;
3) (p∨p)→p.
1.5.8. Известно, что x→y имеет значение 1. Что можно сказать о
значениях z → ( x → y ), x → y → y, ( x → y ) → z ?
1.5.9. Составить таблицы истинности для формул:
1) A1 → A2 ∧ A1 ∨ A2 ;
2) (A1→(A2→A3))→((A1→A2)→(A1→A3));
3) (P↔Q)→(P∧Q);
4) ( P ∧ ( Q → P ) ) ∨ P;
5) P ∧ Q ∨ P ∧ Q → P ∨ Q;
(
)
(
(
( (
)
) (
)
)) (
)
6) P → Q ∧ P → P ∨ R;
7) P ∧ Q ∨ P ∧ Q → P ∨ Q ;
8) (P→Q)∨(P→(Q∧P)).
1.5.10. Доказать выполнимость формул:
1) P → P;
2) ( Q → P ∧ R ) ∧ P ∨ R → Q;
3) (P→Q)→(Q→P).
1.5.11. Какие из высказываний P, Q, R должны быть истинны, а
какие ложны, чтобы формула P ∨ P ∧ Q → R была истинной?
1.5.12. Доказать тождественную истинность формул:
1) P→(Q→P∧Q;
2) ( P → Q ) → P → Q → P ;
3) (P→R)→((Q→R)→(P∨Q→R));
4) (Q→R)→(P∨Q→P∨R);
5) Q → P → Q → P → Q ;
( (
)) ((
) )
(
(
((
)
)
) ((
)
)
)
6) P → ( P → Q );
7) (P→Q)→((Q→R)→(P→R));
8) P → P.
1.5.13. При каких значениях переменных P, Q, R следующие формулы ложны:
1) ( P → Q ∧ R ) → Q → P → Q;
(
(
))
17
2) ((P∨Q)∨R)→((P∨Q)∧(P∨R));
3) ( P ∨ Q ) → P ∧ Q ∨ ( P ∧ Q ) .
1.5.14. Доказать, что:
1) если формулы P∨Q и P ∨ R тождественно истинны, то формула
Q∨R тождественна истинна;
2) если формулы P ∨ Q и R ∨ Q тождественно истинны, то формула P → R тождественна истинна;
3) если формулы P∨Q, P→R, Q→W тождественно истинны, то
формула R∨W тождественна истинна.
1.5.15. Сколько имеется различных (то есть отличающихся истинностными таблицами) двуместных логических операций?
1.5.16. Выразить все основные операции через конъюнкцию и отрицание, через дизъюнкцию и отрицание.
1.5.17. Пусть имеется некоторая логическая операция ⊕ над простыми высказываниями A1, A2,…, An. Операция ⊕ с точностью до
равносильности характеризуется истинностной таблицей. Например, возьмем (см. табл. 1.5.1) некоторую конкретную операцию над
тремя простыми высказываниями:
((
)
)
Таблица 1.5.1
A1
A2
A3
⊕
A1
A2
A3
⊕
1
1
1
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
0
0
0
1
Тогда операцию, имеющую данную истинностную таблицу, можно
получить, перечисляя ситуации, в которых высказывание ⊕ истинно,
то есть A1 ∧ A2 ∧ A3 ∨ A1 ∧ A2 ∧ A3 ∨ A1 ∧ A2 ∧ A3 ∨ A1 ∧ A2 ∧ A3 .
Обобщить приведенную конструкцию на случай произвольных логических операций ⊕.
1.5.18. Доказать следующие равносильности:
1) A → B ≡ A ∧ B;
2) A∧(A∨C)∧(B∨C)≡(A∧B)∨(A∧C);
3) A∧A≡A;
4) A∨(B∧A)≡A;
5) A∨(B∧C)≡(A∨B)∧(A∨C);
6) ( A ∧ B ) ∨ ( A ∨ B ) ∧ A ∨ B ≡ A ∨ B;
(
) (
(
7) A ∨ B ≡ A ∧ B.
18
) (
(
))
) (
)
1.5.19. Доказать, что для любой формулы существует эквивалентная ей формула с тесными отрицаниями, то есть формула, в которой нет символа → и отрицания относятся только к пропозициональным переменным.
§ 1.6. Функции алгебры логики
Формула алгебры логики является функцией входящих в нее
элементарных высказываний, ее аргументы принимают два значения 0 и 1, при этом значение формулы может быть равно 0 или 1.
Функцией алгебры логики n переменных (или функцией Буля)
называется функция n логических переменных, то есть функцией
алгебры логики f(x1, x2,…, xn) от n переменных x1, x2,…, xn называется функция, принимающая значения 0, 1, аргументы которой
также принимают значения 0,1.
Функция f(x1, x2,…, xn) задается своей истинностной табл. 1.6.1.
Таблица 1.6.1
x1
x2
…
xn-1
xn
f(x1, x2,…, xn)
0
0
…
0
0
f(0, 0,…, 0)
1
0
…
0
0
f(1, 0,…, 0)
…
…
…
…
…
…
1
1
1
1
0
f(1, 1,…, 1, 0)
1
1
1
1
1
f(1, 1,…, 1)
Из этой таблицы видно, что число различных двоичных наборов
длины n x1, x2,…, xn конечно и равно 2n.
Ясно, что тавтологии и тождественно ложные функции алгебры
логики представляют собой постоянные функции, а две равносильные формулы выражают одну и ту же функцию. Каждая функция
определяется таблицей истинности, состоящей из 2n строк, то есть
принимает 2n значений
(каждое 0 или 1). Общее число наборов из 0
n
и 1 длины 2n равно 22 . Это число равно числу различных функций
алгебры логики n переменных.
Функция алгебры логики f(x1,…, xi-1, xi, xi+1,…, xn) зависит существенным образом от аргумента xi, если существуют такие значения α1,…, αi-1, αi, αi+1,…, αn переменных x1,…, xi-1, xi, xi+1,…, xn,
что f(α1,…, αi-1, 0, αi+1,…, αn)≠f(α1,…, αi-1, 1, αi+1,…, αn). В этом случае
переменная xi называется существенной, в противном случае – несущественной или фиктивной. Очевидно, что постоянные функции
не имеют существенных переменных.
19
Пример. f(x) – функция одного переменного. Ее возможные значения приведены в табл. 1.6.2.
Таблица 1.6.2
x
f1(x)
f2(x)
f3(x)
f4(x)
1
1
1
0
0
0
1
0
1
0
f1(x)=1 (постоянная, не зависит от x, x – фиктивная переменная),
f4(x)=0 (постоянная, не зависит от x, x – фиктивная переменная),
f2(x)= x, f3 ( x ) = x, в f2(x) и f3(x) x – существенная переменная.
2
Если n=2, то 22 = 16. Именно столько существует различных
функций двух переменных. Перечислим их в таблице истинности
1.6.3.
Таблица 1.6.3
x
y
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
f12
f13
f14
f15
f16
1
1
1
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
Выразим теперь все эти функции через значения аргументов x и y:
f1≡1, f2≡x∨y, f3≡x, f4≡x∧y, f5 ≡ x → y, f6 ≡ y → x, f7 ≡ x ∨ y, f8 ≡ x ↔ y,
f9 ≡ x, f10≡x↔y, f11 ≡ y, f12≡y, f13 ≡ x ∧ y, f14≡x→y, f15≡y→x, f16≡0.
Определим теперь операцию суперпозиции функций. Интуитивный смысл этой операции состоит в том, что в аргументы функции
подставляются другие функции, некоторые переменные могут отождествляться.
Пусть
(
)
(
)
ϕ1 x1,1, x1,2 ,..., x1,k , ϕ2 x2,1, x2,2 ,..., x2,k ,...,


1
2
G=

ϕm xm,1, xm,2 ,..., xm,km

 –
конечная система функций алгебры логики. Функция ψ называется суперпозицией первого ранга или элементарной суперпозицией
ψ∈G(1), если она может быть получена одним из следующих способов:
20
(
)
1) из какой-то функции ϕj∈G переименованием какой-то ее переменной xji, например,
(
)
ψ = ϕ j xj,1, xj,2,..., xj,i -1, y, xj,i +1,..., xj,kj ;
2) подстановкой некоторой функции ψl∈G вместо какого-нибудь
аргумента xji в функции ψj∈G, то есть
(
(
)
)
ψ = ϕ j xj,1, xj,2,..., xj,i -1, ϕl xl,1, xl,2,..., xl,kl , xj,i +1,..., xj,kj .
Суперпозиции r+1-го ранга являются элементарными суперпози1
( r +1) = ( G ( r ) )( ) .
циями функций из суперпозиции r-го ранга, то есть G
Каждой формуле алгебры логики соответствует своя функция.
Если формулы A и B эквивалентны, то соответствующие им функции равны: fA(x1, x2,…, xn)= fB(x1, x2,…, xn). Это значит, что при всех
значениях переменных x1, x2,…, xn значения fA и fB совпадают.
§ 1.7. Разложение булевых функций по переменным
Рассмотрим вопрос представления n – местной булевой функции
f(x1, x2,…, xn) какой-нибудь формулой алгебры высказываний.
σ
Введем обозначение: x = xσ ∨ x σ, где σ – параметр, равный 0
или 1. Очевидно, что
x, σ =0,
xσ = 
 x, σ =1.
Теорема 1.4. Каждую функцию алгебры логики f(x1, x2,…, xn)
при любом m (1≤m≤n) можно представить в следующей форме:
f ( x1, x2 ,..., xm , xm +1,..., xn ) =
∨
σ1,σ2 ,...,σm
σ
σ
σm
x1 1 ∧ x2 2 ∧ ...xm
∧
∧f ( σ1, σ2 ,..., σm , xm +1,..., xn ),
(1.7.1)
где дизъюнкция берется по всевозможным наборам значений переменных x1, x2,…, xn.
Доказательство. Указанное в теореме представление функции
f(x1, x2,…,xm, xm+1,… xn) называется разложением функции по m
переменным x1, x2,…, xm.
Рассмотрим произвольный набор α1, α2,…, αn значений всех переменных данной функции. Покажем, что на этом наборе левая и правая часть формулы (1.7.1) принимают одно и то же значение. Левая
часть равна f(α1, α2,…, αn), правая
21
∨
σ
σ
α
α
σm
α1 1 ∧ α2 2 ∧ ...αm
∧ f ( σ1, σ2 ,..., σm , αm +1,..., αn ) = α1 1 ∧ α2 2 ∧
σ1,σ2 ,...,σm
αm
...αm
∧f
( α1,α2 ,...,αm ,αm+1,...,αn ) = f ( α1,α2 ,...,αm ,αm+1,...,αn ),
i
так как ασi i =
1, если только α=σ, если же α≠σ, то α σ
0 и соответi =
ствующее логическое слагаемое можно отбросить.
Следствие 1 (разложение по одной переменной).
f ( x1, x2,..., xn -1, xn ) =
xn ∧ f ( x1, x2,..., xn -1,1) ∨
∨ xn ∧ f ( x1, x2,..., xn -1,0 ).
(1.7.2)
В этом случае функции f(x1, x2,…, xn-1, 1) и f(x1, x2,…, xn-1, 0) называются компонентами разложения.
Следствие 2 (разложение по всем переменным).
f ( x1, x2 ,..., xn -1, xn ) =
σ
∨
σ1,σ2 ,...,σn
σ
x1 1 ∧ x2 2 ∧ ...xnσn ∧
∧ f ( σ1, σ2 ,..., σn -1, σn ).
(1.7.3)
Очевидно, что, если f(x1, x2,…, xn)≠0, то
∨
σ
σ1,σ2 ,...,σn
=
σ
x1 1 ∧ x2 2 ∧ ...xnσn ∧ f ( σ1, σ2 ,..., σn -1, σn ) =
∨
σ
σ
x1 1 ∧ x2 2 ∧ ...xnσn .
σ1,σ2 ,...,σn ,
f ( σ1,σ2 ,...,σn -1,σn ) =
1
(1.7.4)
Итак, если функция f(x1, x2,…, xn) не является тождественно
ложной функцией, то она может быть выражена равносильной формулой, представляющей собой логическую сумму различных проσ
изведений вида xi i , причем такое представление единственно.
Формула (1.7.3) называется дизъюнктивной нормальной формой.
Ее вид может быть значительно упрощен. Известно, что всякая формула алгебры логики может быть путем эквивалентных преобразований по формулам (1.4.1)–(1.4.3) сведена к формуле, содержащей
только конъюнкцию и отрицание или дизъюнкцию и отрицания.
В результате проведения эквивалентных преобразований могут получиться несколько формул, однако только одна из них будет обладать следующими свойствами:
1. Каждое логическое слагаемое содержит все переменные, входящие в формулу f(x1, x2,…, xn).
22
2. Ни одно логическое слагаемое не содержит одновременно переменную и ее отрицание.
3. Все логические слагаемые в формуле различны.
4. Ни одно логическое слагаемое не содержит одну и ту же переменную дважды.
Эти четыре свойства называются свойствами совершенства.
Если f(x1, x2,…, xn) задана таблицей истинности, то соответствующая формула алгебры логики восстанавливается довольно
просто. Для всех значений аргументов x1, x2,…, xn, при которых f
принимает значение 1, нужно записать конъюнкцию элементарных
переменных высказываний, взяв за член конъюнкции xi, если xi=1,
и xi , если xi=0. Дизъюнкция всех записанных конъюнкций и будет
необходимой формулой. О значениях f=0 можно не беспокоиться,
так как соответствующее слагаемое в формуле будет равно 0 и его
можно отбросить в силу условия f∨0≡f.
Пример. Задана таблица истинности 1.7.1 функции F(x, y, z):
Таблица 1.7.1
x
y
z
F(x, y, z)
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
0
1
Отсюда f (x, y, z) = xyz ∨ xyz ∨ xyz ∨ x yz ∨ x y z. Упростим эту формулу.
f (x, y, z) ≡ yz(x ∨ x) ∨ x z(y ∨ y) ∨ x yz ≡ yz ∨ x z ∨ x yz ≡
≡ yz ∨ x(z ∨ yz) ≡ yz ∨ x(z ∨ y)(z ∨ z) ≡ yz ∨ x(z ∨ y) ≡
(
)
≡ (yz ∨ x) ∧ (yz ∨ z ∨ y) ≡ (y ∨ x) ∧ (z ∨ x) ∧ (y ∨ z ∨ y) ∧ (z ∨ z ∨ y) ≡
≡ (y ∨ x) ∧ (z ∨ x) ∧ (z ∨ 1) ∧ (y ∨ 1) ≡ (y ∨ x) ∧ (z ∨ x) ≡ (x ∨ y) ∧ (x ∨ z) ≡
≡ x ∨ (y ∧ z) ≡ x → yz.
23
§ 1.8. Дизъюнктивная и конъюнктивная нормальные формы
σ
σ
Формула x1 1 ∧ x2 2 ∧ ... ∧ xnσn , где σ={σ1, σ2,…, σn} – какой-нибудь
двоичный набор, а среди переменных xi могут быть совпадающие,
называется элементарной конъюнкцией или конъюнктом.
Всякая дизъюнкция элементарных конъюнкций называется
дизъюнктивной нормальной формой (сокращенно ДНФ). О ней уже
упоминалось в следствии 2 теоремы 1.4.
Элементарная конъюнкция называется правильной, если в нее
каждая переменная входит не более одного раза, включая вхождения под знаком отрицания. Правильная элементарная конъюнкция называется полной относительно переменных x1, x2,…, xn, если
в нее каждая из переменных входит один и только один раз. Например, x1x2 x3x4 – полная правильная элементарная конъюнкция, а
x1 x1 x2 – неправильная элементарная конъюнкция.
Для любой формулы алгебры логики путем элементарных преобразований можно получить ее ДНФ, причем не единственную (не все
формулы в цепочке преобразований будут ДНФ, но многие: именно
те, которые содержат лишь операции , ∨ и ∧). Однако среди многих
ДНФ лишь одна будет удовлетворять всем условиям совершенства.
ДНФ формулы алгебры логики, удовлетворяющей всем четырем
условиям совершенства, называется совершенной дизъюнктивной
нормальной формой.
Условиями совершенства называются следующие:
1) все логические слагаемые в ДНФ различны;
2) каждое логическое слагаемое содержит все переменные;
3) ни одно логическое слагаемое не содержит xi и xi одновременно;
4) ни одно логическое слагаемое не содержит xi дважды.
Таким образом, совершенная дизъюнктивная форма (СДНФ) относительно переменных x1, x2,…, xn называется такая ДНФ, в которой нет одинаковых элементарных конъюнкций и все элементарные конъюнкции правильны и полны относительно переменных x1,
x2,…, xn. Итак, для всякой функции алгебры логики f(x1, x2,…, xn),
не равной тождественно нулю, справедливо ее следующее представление в виде СДНФ:
f ( x1, x2 ,..., x=
n)
∨
σ
σ
x1 1 ∧ x2 2 ∧ ... ∧ xnσn , f ( σ1,σ2 ,...,σn ) =
1
(1.8.1)
где символ ∨ означает, что берутся дизъюнкции по тем наборам переменных, которые указаны под ним.
24
Если функция f(x1, x2,…, xn) задана не истинностной таблицей,
а формулой, то ее СДНФ можно получить путем равносильных преобразований. Заметим, что формулы, являющиеся ДНФ, можно
охарактеризовать как формулы, содержащие только дизъюнкцию,
конъюнкцию и отрицание, в которых отрицания стоят только над
аргументами и вначале выполняются все конъюнкции, а потом
дизъюнкции.
Итак, алгоритм получения СДНФ таков:
1) для формулы A получаем любую ДНФ;
2) если в ДНФ есть слагаемое B, не содержащее xi, то заменяем
B ≡ B ∧ (xi ∨ xi ) ≡ (B ∧ xi ) ∨ (B ∧ xi );
3) если в ДНФ встретится два одинаковых слагаемых B, то лишнее можно отбросить, так как B∨B≡ B;
4) если в некоторое слагаемое B в ДНФA xi входит дважды, то
лишнюю xi можно отбросить, так как xi∧xi≡xi;
5) если слагаемое B в ДНФA содержит конъюнкцию xi ∧ xi , то
xi ∧ xi ≡ 0 и B≡0, и это слагаемое можно отбросить.
Формула вида x1σ1 ∨ x2σ2 ∨ ... ∨ xnσn называется элементарной дизъюнкцией или дизъюнктом. Пустым дизъюнктом называется константа 0. Дизъюнкт невыполним в том и только в том случае, если
он пустой.
Конъюнктивной нормальной формой (КНФ) формулы A называется равносильная ей формула, представляющая собой конъюнкцию элементарных дизъюнкций. Если КНФ не содержит ни одного
дизъюнкта, т. е. пуста, то она эквивалентна 1.
Элементарная дизъюнкция называется правильной, если в нее
каждая переменная входит не более одного раза, включая и вхождения под знаком отрицания. Правильная элементарная дизъюнкция называется полной относительно переменных x1, x2,…, xn, если
каждая из этих переменных входит в нее один и только один раз.
Пусть x1, x2,…, xn – набор логических переменных, а σ={σ1, σ2,…,
σn} – произвольный двоичный набор этих переменных. Конституенσ σ
той единицы набора σ называется конъюнкт x1 1 x2 2 ...xnσn . Конституентой нуля набора σ называется дизъюнкт x11-σ1 ∨ x21-σ2 ∨ ... ∨ xn1-σn .
σ
σ
Очевидно, что x1 1 x2 2 ...xnσn = 1 и x11-σ1 ∨ x21-σ2 ∨ ... ∨ xn1-σn =
0 тогда и
только тогда, когда x1=σ1, x2=σ2,…, xn=σn.
Совершенной конъюнктивной нормальной формой (СКНФ) относительно переменных x1, x2,…, xn называется конъюнктивная
нормальная форма, в которой нет одинаковых элементарных дизъ25
юнкций и все элементарные дизъюнкции правильны и полны относительно переменных x1, x2,…, xn.
Всякую функцию f(x1, x2,…, xn), отличающуюся от тождественно истинной, можно представить в виде СКНФ следующим образом:
f=
( x1, x2 ,..., xn )
σ
σ
x1 1 ∨ x2 2 ∨ ... ∨ xnσn ,
∏
f ( σ1,σ2 ,...,σn ) =
0
(1.8.2)
где символ Π означает, что конъюнкции берутся по тем наборам переменных, которые указаны под ним.
Здесь ситуация та же, что и для ДНФ. Для любой формулы A существует несколько КНФ, среди них есть только одна удовлетворяющая условиям совершенства. Эта КНФ называется совершенной
конъюнктивной нормальной формой.
Свойства совершенства для КНФ:
1) все сомножители (дизъюнкции) различны;
2) каждый сомножитель содержит все переменные;
3) ни один из сомножителей не содержит xi и xi одновременно;
4) ни один из сомножителей не содержит двух одинаковых переменных.
СКНФ, так же как и СДНФ, может быть получена двумя способами: из таблицы истинности для формулы A и путем эквивалентных преобразований. Действительно, найдем связь между СДНФ
и СКНФ. При этом надо помнить следующие факты: полная праσ
σ
вильная элементарная дизъюнкция x1 1 ∨ x2 2 ∨ ... ∨ xnσn равна нулю
лишь на наборе σ1, σ2 ,..., σn , аналогично полная правильная элеσ
σ
ментарная конъюнкция x1 1 ∧ x2 2 ∧ ... ∧ xnσn равна единице на одном
наборе σ1, σ2,…, σn. Тогда, если
ÑÄÍÔ=
f
σ
σ
σ
σ
∨
x1 1 ∧ x2 2 ∧ ... ∧ xnσn ,
∨
x1 1 ∧ x2 2 ∧ ... ∧ xnσn
1
f ( σ1,σ2 ,...,σn ) =
то
ÑÄÍÔ=
f
0
f ( σ1,σ2 ,...,σn ) =
и
ÑÄÍÔ=
f
∏
σ
x1 1 ∧=
x2 2 ∧ ... ∧ xnσn
0
f ( σ1,σ2 ,...,σn ) =
26
σ
σ
σ
σn
x1 1 ∧ x2 2 ∧ ... ∧ xn=
0
f ( σ1,σ2 ,...,σn ) =
∨
∏
σ
σ
x1 1 ∨ x2 2 ∨ ... ∨ xnσn .
0
f ( σ1,σ2 ,...,σn ) =
Таким образом,
ÑÊÍÔ f = ÑÄÍÔ f. (1.8.3)
Алгоритм получения СКНФ путем эквивалентных преобразований похож на алгоритм получения СДНФ:
1) для формулы A получаем любую КНФ;
2) если элементарная дизъюнкция В, входящая в КНФ, не содержит xi, то B ≡ B ∨ (xi ∧ xi ) ≡ (B ∨ xi ) ∧ (B ∨ xi );
3) если в некоторую элементарную дизъюнкцию B xi входит дважды, то лишнюю переменную xi можно отбросить, так как xi∨xi ≡ xi;
4) если КНФ содержит два одинаковых сомножителя B, то лишнюю элементарную дизъюнкцию можно отбросить, так как B∧B ≡ B;
5) если в элементарную дизъюнкцию B входит пара xi ∨ xi , то ее
можно отбросить, так как xi ∨ xi ≡ 1, а Bi∧1 ≡ Bi.
Совершенные нормальные формы позволяют дать критерий равносильности двух произвольных формул A и B. В самом деле, каковы бы ни были формулы A и B, в том случае, если они содержат
одни и те же переменные, их можно заменить равносильными им
формулами, которые необходимо привести к совершенным дизъюнктивным или конъюнктивным нормальным формам. Если A и B
– равносильные формулы, то в силу единственности совершенных
нормальных форм как конъюнктивные, так и дизъюнктивные нормальные формы этих формул должны полностью совпадать. Таким
образом, сравнение совершенных нормальных форм формул A и B
решает вопрос об их равносильности.
При упрощении ДНФ или КНФ удобно пользоваться следующими равносильностями:
 x ∨ xy ≡ x,
 x x ∨ y ≡ x,
)
 (
 x ∨ xy ≡ x ∨ y,

x ∨ xy ≡ x ∨ y,

 x x ∨ y ≡ xy,

 x ( x ∨ y ) ≡ xy.

(
(1.8.4)
)
27
§ 1.9. Закон двойственности
Операция конъюнкции называется двойственной операции
дизъюнкции и наоборот, операция дизъюнкции называется двойственной операции конъюнкции.
Функция
(
f ∗ ( x1, x2,..., xn ) = f x1, x2,..., xn
)
называется двойственной к функции f(x1, x2,…, xn). Функция, равносильная свой двойственной, то есть такая, что
(
)
∗
=
f ( x1, x2,..., xn ) f=
( x1, x2,..., xn ) f x1, x2,..., xn ,
называется самодвойственной. Очевидно, что самодвойственная
функция принимает на противоположных наборах α1, α2,…, αn и
α1, α2 ,..., αn противоположные значения.
Среди элементарных функций алгебры логики 0, 1, x, x, x1∧x2,
x1∨x2 0 двойственна 1; 1 двойственна 0; x двойственна x; x двойственна x; x1∧x2 двойственна x1∨x2; x1∨x2 двойственна x1∧x2.
( )
∗
f ∗∗ =
f∗
f, то
Из определения двойственности следует, что =
*
есть функция f является двойственной к f (свойство взаимности).
Формулы алгебры логики A и A* называются двойственными,
если A* получается из A путем замены каждой операции на двойственную ей операцию.
Рассмотрим формулу
(
)
A ≡ x ∧ y ∨ (x → y) ∧ x ≡ x ∧ y ∨ x ∨ y ∧ x.
Двойственная ей формула будет иметь вид
((
) )
(
)
A∗ ≡ x ∨ y ∧ x ∧ y ∨=
x xy xy ∨ x .
Пусть теперь f ( x, y ) = x ∧ y ∨ (x → y) ∧ x. По определению двойственной функции
( )
(
)
(
)
f ∗ ( x, y ) = f x, y = x ∧ y ∨ x → y ∧ x ≡ x ∧ y ∧ x → y ∧ x ≡
(
)
(
)
(
)
≡ xy ∧ x ∨ y ∧ x ≡ xy ∧ x ∨ y ∨ x ≡ xy xy ∨ x .
28
Теорема 1.5. Функция, двойственная суперпозиции некоторых
функций, равносильна соответствующей суперпозиции двойственных функций, то есть если
(
) (
)
 ϕ1 x1,1, x1,2 ,..., x1,k , ϕ2 x2,1, x2,2 ,..., x2,k ,..., 
1
2
,
ψ ( x1, x2 ,..., xn ) =
f


ϕm xm,1, xm,2 ,..., xm,km ,...


(
)
то
ψ
∗
x1,1, x1,2 ,..., x1,k ), ϕ2∗ ( x2,1, x2,2 ,..., x2,k ),..., 
(
,
f
( x1, x2 ,..., xn ) =
∗


ϕm ( xm,1, xm,2 ,..., xm,k ),...


 ϕ∗
∗ 1
1
2
m
где через x1, x2,…, xn обозначены все различные символы переменных, встречающиеся в наборах
( x1,1,x1,2,...,x1,k ), ( x2,1,x2,2,...,x2,k ), …, ( xm,1,xm,2,...,xm,k ).
1
2
m
Доказательство. По определению двойственной функции
(
)
ψ∗ ( x1, x2 ,..., xn ) =
ψ x1, x2 ,..., xn =
(
)


ϕ1 x1,1, x1,2 ,..., x1,k1 ,


f=
 ϕ x , x ,..., x

2,k2 ,..., ϕm xm,1, xm,2 ,..., xm,km ,... 
 2 2,1 2,2
(
(
)
(
)
) (
)
 ϕ x , x ,..., x

1,k1 , ϕ2 x2,1, x2,2 ,..., x2,k2 ,..., 
 1 1,1 1,2
f=




ϕm xm,1, xm,2 ,..., xm,km ,...


∗
 ϕ∗ x , x ,..., x

1,k1 , ϕ2 x2.1, x2,2 ,..., x2,k2 ,..., 
 1 1.1 1,2
f=




ϕ∗m xm.1, xm,2 ,..., xm,km1 ,...


∗
∗
 ϕ1 x1.1, x1,2 ,..., x1,k , ϕ2 x2.1, x2,2 ,..., x2,k ,..., 
1
2
.
= f∗ 
∗


ϕm xm.1, xm,2 ,..., xm,km ,...


(
)
(
) (
(
(
)
)
(
) (
)
)
В заключение приведем без доказательства еще две теоремы о
двойственных функциях.
Теорема 1.6. Если для функции f(x1, x2,…, xn) двойственной является f(x1, x2,…, xn), то справедлива равносильность
29
f ( x1, x2,..., xn ) ≡ f ∗ (x1, x2,..., xn ). Эта формула доказывается методом математической индукции.
На основании теоремы 1.6 легко доказывается следующая.
Теорема 1.7. Если формулы A и B равносильны, то равносильны
и двойственные им формулы, то есть A≡B→A≡B.
§ 1.10. Практическое занятие № 2.
Функции алгебры логики. Закон двойственности
1.10.1. Показать, что каждой формуле A алгебры высказываний
можно сопоставить функцию f(A) алгебры логики так, что если
A1 ≡ A2, то f(A1) = f(A2).
1.10.2. Сколько имеется различных функций алгебры логики от
n переменных?
1.10.3. По таблице истинности 1.10.1 найти формулы, определяющие функции f1(x1, x2, x3), f2(x1, x2, x3), f3(x1, x2, x3), f4(x1, x2, x3),
и придать им более простой вид.
Таблица 1.10.1
x1
x2
x3
f1(x1, x2, x3)
f2(x1, x2, x3)
f3(x1, x2, x3)
f4(x1, x2, x3)
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
0
1.10.4. Найти все существенные переменные следующих функций:
1) ( x ∧ y ) ∨ y ∧ z ;
2) (x∧y)∨x;
3) (x→(y→z))→((x→y)→(x→z)).
1.10.5. Выразить с помощью суперпозиций:
1) ∧ и → через ∨ и ;
2) ∧ и ∨ через → и ;
3) через → и 0;
4) ∨ через →.
(
30
)
1.10.6. Привести к дизъюнктивной и конъюнктивной нормальной форме:
1) ( ( A → B ) → ( C → A ) ) → B → C ;
2)
( A → B) → A → B → C ;
3) ( A → ( B → C ) ) → A → C → A → B .
1.10.7. По данному набору значений переменных построить элементарную конъюнкцию, истинную для данного набора значений
переменных.
1.10.8. Для следующих формул найти СДНФ, при этом для формул 1, 2, 3 и 5 использовать два способа.
1) A → B → ( ( B ∧ C ) → ( A ∧ C ) ) ;
(((
2)
)
((
((
)
(
)
)
))
) (
)
)
( ( A → B ) → A ) → ( A → ( A ∧ B ) );
3) ( A ∧ B ) → A ∧ ( A ∧ B ) → B;
4) A1→(A2→(…→(An-1→An)…));
(
)
5) A → C → B → A.
1.10.9. Следующие формулы привести к совершенной конъюнктивной нормальной форме:
1) ( C → A ) → B ∨ C → A ;
(
)
2) ( A ∧ B ) → A ∨ ( A ∧ ( B ∨ C ) );
3) A ∧ ( B ∨ C ) → ( A ∧ B ) ∨ C;
(
)
4) A ∨ B → A ∧ C → A → A ∨ B ∧ C;
5) A1∨A2∨…∨An→B1∧B2∧…∧Bn.
1.10.10. Найти СДНФ для всякой тождественно истинной формулы, содержащей:
1) одну переменную;
2) две переменных;
3) три переменных.
1.10.11. Найти СКНФ для всякой тождественно ложной формулы, содержащей:
1) одну переменную;
2) две переменных;
3) три переменных.
1.10.12. Построить формулу от трех переменных, которая истинна в том и только том случае, когда ровно две переменные ложны.
1.10.13. Построить формулу от трех переменных, которая принимает такое же значение, как и большинство (меньшинство) переменных.
31
1.10.14. Построить формулу f от переменных x, y, z так, чтобы
x ∧ f ≡ x ∧ y,

 x ∨ f ≡ x ∨ z.
1.10.15. По данным СДНФA и СДНФB построить: СДНФ(A∨B) и
СКНФ(A∨B).
1.10.16. По СКНФA построить СДНФA, где A – формула двойственная к A.
1.10.17. Построить функции, двойственные следующим функциям:
1) основным логическим операциям и константам 0, 1;
2) функции от трех переменных, равной 1, если четное число переменных равно единице.
1.10.18. Показать, что функция xy∨xz∨yz является самодвойственной.
1.10.19. Сколько имеется самодвойственных функций от n переменных?
1.10.20. Дана произвольная несамодвойственная функция. Отождествить у нее переменные так, чтобы получилась несамодвойственная функция от возможно меньшего числа переменных. Каким может быть это число?
§ 1.11. Минимизация булевых функций
в классе ДНФ [6]
Как было ранее показано, произвольная булева функция может
быть представлена в дизъюнктивной и конъюнктивной нормальной
форме. Очевидно, что среди этих форм будут такие, какие содержат
меньше чем исходная число переменных.
Дизъюнктивная нормальная форма называется минимальной,
если она содержит наименьшее число вхождений переменных по
сравнению со всеми равносильными ей ДНФ.
Формула A(x1, x2,…, xn) называется импликантой формулы
B(x1, x2,…, xn), если A – правильная элементарная конъюнкция
σ σ
σ
и A∧B≡A. Импликанта A ( x1, x2 ,..., xn ) = xi 1 xi 2 ...xi k формулы
1
2
k
B называется простой, если после отбрасывания любой переменной из A не получается формула, являющаяся импликантой
формулы B.
Пример. Пусть A = xyz ∨ xyz ∨ xy z ∨ x yz. Найдем все импликанты и простые импликанты этой формулы по табл. 1.11.1.
32
Таблица 1.11.1
x
y
z
x
y
z
xy
xz
yz
xy
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
xz
yz
xy
xy
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
xyz
x yz
xyz
xy z
xyz
xyz
xyz ∨ xyz
xy z ∨ x yz
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.11.1. Импликанты по таблице находят33
ся очень легко; импликант всего семь: yz, xy, xz, xyz, xyz, x yz и
xy z. Каждую из них можно проверить аналитически, например,
A ∧ yz=
( xyz ∨ xyz ∨ xyz ∨ x yz ) ∧ yz ≡ xyzyz ∨ xyzyz ∨ xyzyz ∨ x yzyz ≡
≡ xyz ∨ x yz ≡ yz ( x ∨ x ) ≡ yz.
Простыми импликантами являются формулы yz, xy и xz. Таким образом, сокращенная ДНФ формулы A будет дизъюнкцией
этих простых импликант: сокращенная ÄÍÔA = xy ∨ xz ∨ yz.
Очевидно, что всякая булева функция, не равная нулю, представима в виде сокращенной ДНФ. Сокращенная ДНФ может содержать лишние импликанты, удаление которых не меняет таблицы
истинности. Если удалить эти лишние импликанты, то получается
ДНФ, называемая тупиковой.
Тупиковая ДНФ, содержащая наименьшее число вхождений переменных высказываний, называется минимальной ДНФ (МДНФ).
Сокращенную ДНФ можно получить и с помощью аналитических преобразований без таблицы истинности. Для этого используются три операции:
1) полного склеивания Ax ∨ Ax ≡ A x ∨ x ≡ A;
2) неполного склеивания
(
(
)
)
Ax ∨ Ax ≡ A x ∨ x ∨ Ax ∨ Ax ≡ A ∨ Ax ∨ Ax;
(
)
3) элементарного поглощения Axσ ∨ A ≡ A xσ ∨ 1 ≡ A, σ∈ {0,1}.
Теорема 1.8 (Теорема Квайна1). Если в СДНФ формулы A произвести все возможные операции неполного склеивания, а затем
операции элементарного поглощения, то получится сокращенная
ДНФ, т. е. дизъюнкция всех простых импликант.
Рассмотрим формулу A из предыдущего примера. Произведем
в ней все возможные операции неполного склеивания, а затем элементарного поглощения. Тогда
A = xyz ∨ xyz ∨ xyz ∨ x yz ≡
(
)
(
)
(
)
≡ xz y ∨ y ∨ yz x ∨ x ∨ xy z ∨ z ∨ xyz ∨ xyz ∨ xyz ∨ x yz ≡
≡ xz ∨ yz ∨ xy ∨ xyz ∨ xyz ∨ xyz ∨ x yz ≡
(
)
(
)
≡ xz (1 ∨ y ) ∨ yz (1 ∨ x ) ∨ xy 1 ∨ z ∨ x yz ≡ xz ∨ xy ∨ yz 1 ∨ x ≡ xy ∨ xz ∨ yz.
1
34
Уиллард Квайн (Куайн) (1908–2000) – американский математик.
Для получения минимальной ДНФ из сокращенной используется матрица Квайна, имеющая следующую структуру: в заголовки
столбцов матрицы записываются конституенты единицы СДНФ, а
в заголовки строк – простые импликанты сокращенной ДНФ. В матрице звездочками отмечаются те пересечения строк и столбцов,
для которых элементарная конъюнкция, стоящая в заголовке строки, входит в конституенту единицы, стоящую в заголовке столбца.
Составим матрицу Квайна для формулы A в табл. 1.11.2. Поскольку формула A дана в виде СДНФ (см. табл. 1.11.1), матрица будет иметь следующий вид:
Таблица 1.11.2
Простые
импликанты
Конституенты единицы СДНФ
xyz
xyz
xyz
xyz
xy
–
*
*
–
xz
*
–
*
–
yz
–
*
–
*
В тупиковую ДНФ выбирается минимальное число простых импликант, дизъюнкция которых сохраняет все конституенты единицы СДНФ, т. е. каждый столбец матрицы Квайна содержит по
крайней мере одну звездочку, стоящую на пересечении со строкой,
соответствующей одной из выбранных импликант. Затем из тупиковой выбирается минимальная ДНФ. В нашем случае тупиковая
ÄÍÔ=xz ∨ yz, , она же будет равна МДНФ.
После нахождения простых импликант построение МДНФ сводится к изучению матрицы Квайна. В силу принципа двойственности все приведенные рассуждения могут быть применены после необходимого преобразования для нахождения минимальных конъюнктивных нормальных форм (МКНФ).
§ 1.12. Проблема разрешимости
Все формулы алгебры логики делятся на три класса:
1) тавтологии;
2) тождественно ложные;
3) выполнимые.
35
Формулу A называют выполнимой, если она принимает значение
единицы, хотя бы на одном наборе входящих в нее переменных и не
является тождественно истинной.
Вопрос, к какому классу формул относится текущая формула A,
и называется проблемой разрешимости, которая элементарно решается с помощью таблицы истинности, однако для больших формул
таблицы очень громоздки и их использование затруднительно.
Другой способ основан на приведение формулы A к КНФ или ДНФ
и использовании специального алгоритма, который позволяет определить, является ли данная формула тождественно истинной или не
является. Одновременно с этим решается проблема разрешимости.
Вышеназванный алгоритм таков. Сначала рассматривается формула A. Если A ≡1, то задача решена. Если это не так, то рассматривается формула A. Если A ≡ 1, то A ≡0 и задача решена. Если это
не так, то A – выполнимая формула. Установление тождественной
истинности формулы A основано на следующих теоремах.
Теорема 1.9. Для того чтобы элементарная дизъюнкция была
тождественно истинной, необходимо и достаточно, чтобы в ней содержалась переменная и ее отрицание.
Например, xi ∨ xi ≡ 1.
Теорема 1.10. Для того чтобы элементарная конъюнкция была
тождественно ложной, необходимо и достаточно, чтобы в ней содержалась переменная и ее отрицание.
Здесь то же самое: для одного переменного это очевидно x ∧ xi ≡ 0,
для набора n переменных это утверждение легко доказывается.
Теорема 1.11. Для того, чтобы формула алгебры логики A была
тождественно истинна, необходимо и достаточно, чтобы любая
элементарная дизъюнкция, входящая в КНФA, содержала переменную и ее отрицание.
Доказательство. 1) Необходимость. Пусть A≡1. Тогда КНФA≡1
и КНФA≡A1∧A2∧A3∧… ∧An≡1 и ∀i Ai≡1. Так как Ai – элементарная
дизъюнкция, то по теореме 1.7 Ai содержит переменную и ее отрицание.
2) Достаточность. Пусть Ai – содержит переменную и ее отрицание. Тогда по теореме 1.7 Ai ≡ 1, i =
1,n. Но ÊÍÔ
=
À
n
∏ Ai ≡ 1.
i =1
Следо-
вательно A – тождественно истинная формула.
Теорема 1.12. Для того чтобы формула алгебры логики A была
тождественно ложной, необходимо и достаточно, чтобы любая эле36
ментарная конъюнкция, входящая в ДНФA, содержала переменную и ее отрицание.
Пример. A = (xy → x) ∧ (xy → y). Получить СДНФ и СКНФ с помощью таблицы истинности 1.12.1 и путем элементарных преобразований.
Таблица 1.12.1
x
y
x
y
xy
xy → x
xy
xy → y
xy → y
A
A
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.12.1 сразу получаем СДНФA≡x∧y. Из этой же таблицы видно, что формула A – выполнимая формула. Найдем теперь
СКНФ по формуле
ÑÊÍÔA = ÑÄÍÔA, ÑÄÍÔA ≡ (x ∧ y ) ∨ (x ∧ y) ∨ (x ∧ y ).
ÑÊÍÔA ≡ (x ∧ y ) ∨ (x ∧ y) ∨ (x ∧ y ) ≡ (x ∧ y) ∧
∧(x ∧ y) ∨ (x ∧ y) ≡ (x ∨ y) ∧ (x ∧ y) ∧ (x ∧ y) ≡ (x ∨ y) ∧ (x ∨ y) ∧ (x ∨ y).
Элементарными преобразованиями исходной формулы получить
СДНФ и СКНФ часто бывает значительно сложней, чем из таблицы
истинности
A ≡ (xy → x) ∧ (xy → y) ≡ (xy ∨ x) ∧ (xy ∨ y) ≡ (xy ∨ x) ∧ (xy ∧ y) ≡
≡ (xy ∨ x) ∧ (xy ∧ y) ≡ (xy ∨ x) ∧ (xy) ≡ xy(x ∨ 1) ≡ xy ≡ x ∧ y –
сразу ДНФ и СДНФ. СДНФ – дизъюнкция элементарных конъюнкций. В ней только одно слагаемое xy, других нет. Найдем теперь
СКНФ, для этого нужна хоть какая-то КНФ. Например, xy – КНФ,
так как x и y можно считать элементарными дизъюнкциями.
xy ≡ (x ∨ (y ∧ y)) ∧ (y ∨ (x ∧ x)) ≡ (x ∨ y) ∧ (x ∨ y) ∧ (y ∨ x) ∧ (y ∨ x) ≡
≡ (x ∨ y) ∧ (x ∨ y) ∧ (x ∨ y).
Полученная СДНФA не является тождественно ложной, так как
входящая в нее элементарная конъюнкция не содержит перемен37
ную и ее отрицание. Следовательно, формула A или тождественно
истинна или выполнима.
СКНФA не является тождественно истинной, так как все элементарные дизъюнкции не содержат какую-то переменную и ее отрицание. Таким образом, A – выполнимая формула.
§ 1.13. Полиномы Жегалкина1
Конъюнкция xy в булевой алгебре {0, 1} совпадает с арифметической операцией умножения над числами. Обычное арифметическое
сложение выводит за пределы множества {0, 1}, но можно использовать сложение по модулю 2.
Рассмотрим логическую связь, определяемую табл. 1.13.1:
Таблица 1.13.1
x
y
x⊕y
1
1
0
1
0
1
0
1
1
0
0
0
В результате возникает новая логическая операция, которую мы
будем обозначать x⊕y. И. И. Жегалкин предложил эту логическую
связь называть суммой x и y и обозначать x⊕y. Сумма истинна тогда
и только тогда, когда истинно одно и только одно составляющее высказывание, то есть знак ⊕ здесь означает союз или, употребленный
в строго разделительном смысле.
Сравнивая таблицы истинности основных логических связок,
заметим, что x ⊕ y ≡ x ↔ y. Подобным же образом могут быть арифметизированы все 16 операций, ранее рассматривавшихся для
функций двух переменных.
Для двух введенных операций: введенного сложения по модулю
2 и умножения (конъюнкции) имеют место все основные логические
законы: коммутативность, ассоциативность, дистрибутивность умножения относительно сложения.
Операция сложения по модулю 2 используется в логических
функциях, называемых полиномами (многочленами) Жегалкина.
1
38
Иван Иванович Жегалкин (1869–1947) – советский математик.
Многочленом Жегалкина называется многочлен, являющийся
суммой константы 0 или 1 и различных одночленов, в которых все
переменные входят не выше, чем в первой степени:
∑
i1,i2 ,...,ik
ai1i2 ...ik xi1 xi2 ...xik (1.13.1)
причем на каждом наборе (i1, i2,…, ik) все ij (j=1, 2,…, k) различны, а
ai1i2 ...ik ∈ {0,1}.
Подсчитаем число полиномов Жегалкина от переменных x1,
x2,…, xn, то есть число выражений вида (1.13.1). Число членов
xi1 xi2 ...xik равно количеству подмножеств вида {i1, i2,…, ik} множества из n чисел {1, 2,…, n}, то есть
2n. Поскольку ai1i2 ...ik = 0 или 1, то
2n
общее число многочленов 2 .n Так как число булевых функций от
n переменных также равно 22 , то каждая булева функция может
быть представлена многочленом Жегалкина.
Рассмотрим несколько примеров. Сначала с помощью таблицы
истинности 1.13.2 найдем, как выражается многочлен Жегалкина
для x.
Таблица 1.13.2
x
x
x⊕1
1
0
0
0
1
1
1. Таким образом, x= x ⊕1.
2. x1 ∨ x2 ≡ x1 ∧ x2=
( x1 ⊕ 1)( x2 ⊕ 1) ⊕ 1=
x1x2 ⊕ x1 ⊕ x2 ⊕ 1 ⊕ 1=
= x1x2 ⊕ x1 ⊕ x2 .
То же самое получается по формуле (1.13.1):
x1∨x2 = ax1x2⊕bx1⊕cx2⊕d, при x1 = x2 = 0 имеем d = 0;
при x1 = 0, x2 = 1, c = 1; при x1 = 1, x2 = 0, b = 1;
при x1 = x2 = 1, a = 1, тогда x1∨x2 = x1x2⊕x1⊕x2.
3. x1 ∨ x2 ∨ x3 ≡ x1 ∧ x2 ∧ x3 = ( x1 ⊕ 1)( x2 ⊕ 1)( x3 ⊕ 1) ⊕ 1 =
= x1x2 x3 ⊕ x2 x3 ⊕ x1x3 ⊕ x3 ⊕ x1x2 ⊕ ⊕ x2 ⊕ x1 ⊕=
1⊕1
= x1x2 x3 ⊕ x1x2 ⊕ x1x3 ⊕ x1 ⊕ x2 ⊕ x3 .
В заключение приведем вновь табл. 1.13.3 всех булевых функций
от двух переменных и их представление многочленами Жегалкина.
39
Таблица 1.13.3
x
y
f1
f2
f3
f4
f5
f6
f7
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
0
1
0
0
0
0
0
1
f8
f9
f10
f11
f12
f13
f14
f15
f16
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
f1≡1=1, f2≡x∨y=xy⊕x⊕y, f3≡x=x, f4≡x∧y=xy,
f5 ≡ x → y = xy ⊕ x, f6 ≡ y → x = xy ⊕ y, f7 ≡ x ∨ y = xy ⊕ x ⊕ y ⊕ 1,
f8 ≡ x ↔ y = x ⊕ y, f9 ≡ x = x ⊕ 1, f10≡x↔y=x⊕y⊕1,
f11 ≡ y = y ⊕ 1, f12≡y=y,
f13 ≡ x ∧ y = xy ⊕ 1, f14≡x→y=xy⊕x⊕1, f15≡y→x = xy⊕y⊕1,
f16≡0 = 0.
§ 1.14. Полнота и замкнутость функций алгебры логики [7]
Система булевых функций G={f1, f2,…, fm} называется полной,
если любая булева функция может быть выражена через функции
из G с помощью суперпозиций. Система P2 – множество всех булевых функций – является полной системой.
Теорема 1.13. Пусть даны две системы функций {f1, f2,…, fm} и
{g1, g2,…, gk}, относительно которых известно, что первая система
полна и любая из ее функций может быть выражена с помощью
суперпозиции через функции g1, g2,…, gk. Тогда система {g1, g2,…,
gk} также является полной системой.
Доказательство. Пусть ϕ – произвольная функция из P2. Так
как система функций {f1, f2,…, fm} полна, то ϕ=ϕ(f1, f2,…, fm), причем переменных в ϕ может быть любое конечное число от 1 до m.
40
По условию теоремы
f1 = ϕ1 ( g1, g2,..., gk ),
f2 = ϕ2 ( g1, g2,..., gk ),
..................................
fm = ϕm ( g1, g2,..., gk ).
Теперь функция ϕ может быть выражена через систему функций
{g1, g2,…, gk} с помощью суперпозиции ϕ=ϕ(ϕ1(g1, g2,…, gk), ϕ2(g1,
g2,…, gk),…, ϕm(g1, g2,…, gk))=ψ(g1, g2,…, gk). Таким образом, произвольная функция из P2 выражена через функции системы {g1, g2,…,
gk}, то есть эта система функций полна.
Рассмотрим несколько примеров и докажем полноту следующих
систем функций:
1) , ∧, ∨ . Полнота этой системы непосредственно следует из
формул (1.9.1) и (1.9.2);
2) , ∨ и , ∧ . Для доказательства полноты системы , ∨
воспользуемся теоремой 1.13. Здесь роль системы {f1, f2, f3} играют
{
{
функции
}
} {
}
{
}
{ , ∧, ∨}, а роль системы {g1, g2} – функции { , ∨}. Тогда
x1 x2 =
ϕ2 ( g1, g2 ).
f1=g1, f3=g2, f2 =∨
{
}
Полнота системы , ∧ доказывается аналогично с использованием равносильности x1 ∨ x2 ≡ x1 ∧ x2;
3) {⋅, ⊕, 1}- система, связанная с полиномами Жегалкина. Доказа, ∧ ,
тельство ее полноты проводится аналогично: возьмем {f1, f=
2}
а {g1, g2, g3}={⋅, ⊕, 1}. Тогда так как x= x ⊕1, то f1=ϕ(g2, g3), f2=g1, то
есть система функций {⋅, ⊕, 1} полна.
Таким образом, мы получили результат, который можно сформулировать в виде следующей теоремы.
Теорема 1.14. Каждая функция из P2 может быть выражена при
помощи полинома по модулю 2 (полинома Жегалкина).
Класс функций G называется функционально замкнутым, если
вместе с функциями из этого класса он содержит и все их суперпозиции. Функционально замкнутыми классами являются класс
всех булевых функций P2, класс, содержащий только тождественные функции вида f(x)=x, класс функций от одной переменной, так
как все суперпозиции над функциями из этих классов не выводят
результат из соответствующих классов.
Функционально замкнутые классы, отличные от пустого класса
и от совокупности всех функций алгебры логики, называются соб-
{
}
41
ственными функционально замкнутыми классами. Рассмотрим некоторые важнейшие замкнутые классы функций из P2.
1. Обозначим через P0 класс всех булевых функций f(x1, x2,…,
xn), сохраняющих нуль, то есть функций, для которых f(0, 0,…,
0)=0. Очевидно, что в этот класс входят функции 0, x, x1∧x2, x1∨x2,
x1⊕x2, а функции 1 и x не входят в него.
Для обоснования замкнутости P0 достаточно показать, что функция ϕ=ϕ(f1, f2,…, fm) ∈ P0, если f1, f2,…, fm ∈ P0. Но ϕ(0, 0,…, 0) = ϕ(f1(0,
0,…, 0), f2(0, 0,…, 0),…, fm(0, 0,…, 0))=0. Следовательно, ϕ∈P0.
2. Через P1 обозначим класс булевых функций f(x1, x2,…, xn), сохраняющих единицу, то есть функций, для которых f(1, 1,…, 1)=1.
К этому классу принадлежат функции 1, x, x1∧x2, x1∨x2, напротив,
функции 0 и x не входят в P1. Доказательство замкнутости этого
класса аналогично предыдущему.
3. Обозначим через S класс всех самодвойственных функций,
то есть функций f ∈ P2, для которых f* = f. Докажем, что класс S
замкнут. Для самодвойственной функции имеет место тождество
f ∗=
x1, x2,..., xn f ( x1, x2,..., xn ). Для доказатель( x1, x2,..., xn ) f=
ства замкнутости покажем, что ϕ=ϕ(f1, f2,…, fm)∈S, если f1, f2,…,
fm∈S. Найдем ϕ∗ =ϕ∗ f1∗, f2∗,..., fm∗ =ϕ f1, f2,..., fm =ϕ ( f1, f2,...,fm ) ∈ S.
Этот же результат следует и из теоремы 1.5.
4. Функция f(x1, x2,…, xn) называется линейной, если f(x1, x2,…,
xn)=a0⊕a1x1⊕…⊕anxn, где ai∈{0, 1}. Класс линейных функций обозначается через L. Он, очевидно, содержит константы 0 и 1, тождественную функцию x, функции x, x1⊕x2. Функции x1∧x2 и x1∨x2∉L.
Класс линейных функций L функционально замкнут. Если
(
)
(
то
) (
)
f1 = a0 ⊕ a1x1 ⊕ ... ⊕ an1 xn1 ∈ L и f2 = b0 ⊕ b1x1 ⊕ ... ⊕ bn2 xn2 ∈ L,
(
)
a0 ⊕ a1x1 ⊕ ... ⊕ ai b0 ⊕ b1x1 ⊕ ... ⊕ bn2 xn2 ⊕ ai +1xi +1 ⊕ ... ⊕ an1 xn1 ∈ L.
Это очевидно, если вспомнить, что x⊕x=0, x⋅x=x, 0⊕x=x. Переименование переменных также не выводит из L.
5. Последний класс наиболее важных замкнутых булевых функций – монотонные.
Введем отношения частичного порядка на наборах переменных
x1, x2,…, xn. Для двух наборов α = ( α1, α2 ,...,αn ) и β = ( β1,β2 ,...,βn )
выполнено отношение предшествования α  β , если α1≤β1, α2≤β2,…,
αn≤βn. Например, ( 0,1,0,1)  (1,1,0,1). Оценки (0, 1, 0, 1) и (1, 1, 0, 1)
называются сравнимыми, а оценки (0, 1, 0, 1) и (1, 0, 1, 1) – несрав42
нимыми. Введенное отношение  или  есть отношение частичного
порядка.
Функция f(x1, x2,…, xn) называется монотонной, если для любых двух наборов α и β , таких, что α  β, имеет место неравенство
f α ≤ f β . Класс монотонных функций обозначается через M. Очевидно, что монотонными функциями будут 0, 1, x, x1∧x2 и x1∨x2.
Функция x1→x2 не монотонна, так как ( 0,0 )  (1,0 ), , но f(0, 0)=1>f(1,
0)=0.
Покажем, что класс монотонных функций замкнут. Для установления замкнутости класса M достаточно показать, что функция
ϕ = ϕ ( f1, f2,..., fm ) ∈ M, если ϕ, f1, f2,…, fm∈M. Пусть
( ) ()
=
x
(1)
x1, x2 ,..., xn ), x
(=
(2)
( x1,1,x=
1,2 ,..., x1,k ), x
1
(m )
x2,1, x2,2 ,..., x2,k ),..., x
(=
( xm,1,xm,2,...,xm,k ) –
2
m
наборы переменных соответственно функций ϕ, f1, f2,…, fm, причем множество переменных функции ϕ состоит из тех и только тех
переменных, которые встречаются у функций f1, f2,…, fm. Пусть
α и β два набора переменных x, причем α  β. Эти два набора
определяют наборы α
x
(1) (2)
,x
,..., x
(m )
(1)
(1)
,β
,α
(2)
(2)
,β
,..., α
(m )
(m )
,β
переменных
, причем такие, что
α
(1)
(1)
β
, α
(2)
(2)
β
, …, α
(m )
(m )
β
.
Функции ϕ, f1, f2,…, fm∈M, то есть
(2)
(2)
(m ) 
 (1) 
 (1) 
 (m ) 
f1  α  ≤ f1  β , f2  α  ≤ f2  β , …, fm  α
 ≤ fm  β
,












поэтому
  (1)   (2) 
 (m )     (1) 
 (2) 
 (m )  
    f1  β , f2  β ,..., fm  β
 .
 f1  α , f2  α ,..., fm  α
 


  





 
В силу монотонности (по условию) функции ϕ получим:
  (1)   (2) 
  (1)   (2) 
 (m )  
 (m )  
ϕ  f1  α , f2  α ,..., fm  α
  ≤ ϕ  f1  β , f2  β ,..., fm  β
 ,
 









 

то есть ϕ = ϕ ( f1, f2,..., fm ) ∈ M.
43
Классы P0, P1, S, L и M неполные и попарно различные, так как
можно привести примеры булевых функций, не принадлежащих
ни одному из этих классов, и примеры функций, принадлежащих
одному из любых двух классов, но не принадлежащих другому. Но
оказывается, что для проверки полноты системы булевых функций
можно ограничиться рассмотренными пятью функционально замкнутыми классами.
Теорема 1.15. (теорема Поста1 о функциональной полноте).
Для того чтобы система булевых функций {f1, f2,…, fm} была
полной, необходимо и достаточно, чтобы она целиком не содержалась ни в одном из пяти замкнутых классов P0, P1, S, L и M.
Для проверки, выполняются ли для некоторой системы функций {f1, f2,…, fm} условия теоремы Поста, можно составлять таблицы, которые называются таблицами Поста. Рассмотрим следующий пример: доказать полноту системы функций x ⊕ y ⊕ z, xy, 0, 1.
Таблица Поста будет иметь вид табл. 1.14.1.
Таблица 1.14.1
Функция
P0
P1
S
L
M
x⊕y⊕z
+
+
+
+
–
xy
+
+
–
–
+
0
+
–
–
+
+
1
–
+
–
+
+
В клетках этой таблицы пишется знак «+» или «-» в зависимости
от того, принадлежит рассматриваемая функция заданному функционально замкнутому классу или нет. Для полноты системы функций необходимо и достаточно, чтобы в каждом столбце был хотя бы
один минус.
1. f1(x, y, z)=x ⊕ y ⊕ z. f1 – функция, сохраняющая нуль, ибо
0⊕0⊕0=0, аналогично она сохраняет единицу 1⊕1⊕1=1. Найдем
двойственную ей функцию
(
)
f1∗ = f1 x, y, z = ( x ⊕ 1) ⊕ ( y ⊕ 1) ⊕ ( z ⊕ 1) ⊕ 1 =
= x ⊕ y ⊕ z ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 1 = x ⊕ y ⊕ z,
то есть f1∈S. Очевидно, что f1 – линейная функция. Осталось проверить ее на монотонность. Выберем два набора значений переменных
( 0,1,0 )  ( 0,1,1), f1(0, 1, 0)=1>f1(0, 1, 1)=0. Итак, f1∉M.
1
44
Эмиль Леон Пост (1897–1954) – американский математик и логик.
2. f2(x, y)=xy. Проверим принадлежность f2 к каждому из пяти
классов функций. 0⋅0=0, f2∈P0, 1⋅1=1, f2∈P1, f2∗ = f2 x, y = x ∧ y ≡ x ∨ y,
то есть f2 – несамодвойственная функция. f2 не линейна, так как
содержит произведение переменных xy. Наконец, f2∈M, потому что имеется семь сравнимых наборов значений переменных:
( 0,0 )  ( 0,0 ), ( 0,0 )  (1,0 ), ( 0,0 )  ( 0,1), (1,0 )  (1,1), ( 0,1)  (1,1),
( 0,0 )  (1,1) и (1,1)  (1,1). Очевидно, что для любого из них
f2 α ≤ f2 β .
3. f3=0 и f4=1 проверяются элементарно.
Собственный функционально замкнутый класс называется
предполным, если он не содержится ни в каком функционально
замкнутом классе, отличном от самого себя и от класса всех функций алгебры логики. Итак, какой-то класс функций K называется
предполным (или максимальным), если K – неполный, а для любой
f∈P2 и f∉K, класс K∪{f} – полный. Из определения следует, что предполный класс является замкнутым. В алгебре логики существуют
только пять предполных классов, именно: P0, P1, S, L и M.
Система функций G={f1, f2,…, fm} называется независимой, если
никакая функция fi системы G не представима суперпозициями
функций из G\{fi}.
Независимая система функций G называется базисом замкнутого класса K, если всякая функция из K есть суперпозиция функций
из G. Таким образом, система функций G из замкнутого класса K
называется его базисом, если она полна в K, а всякая ее собственная
подсистема не является полной в K.
Теорема 1.16. Каждый замкнутый класс из P2 имеет конечный
базис.
( )
( )
()
§ 1.15. Производные от булевых функций
В дискретной математике и математической логике отсутствует
понятие предела, однако используется термин «производная». Это
связано с разложением булевой функции в ряд, аналогичный ряду
Маклорена1 в точке (на наборе) (0, 0,…, 0) или ряд Тейлора2 в произвольной точке (на произвольном наборе).
∂f
Производной первого порядка
от булевой функции f(x1,
∂xi
x2,…, xn) по переменной xi называется
1
2
Колин Маклорен (1698–1746) – шотландский математик.
Брук Тейлор (1685–1731) – английский математик.
45
∂f
= f ( x1, x2 ,..., xi -1,1, xi +1,..., xn ) ⊕
∂xi
⊕f ( x1, x2 ,..., xi -1,0, xi +1,..., xn ),
(1.15.1)
где
f(x1, x2,…, xi-1, 1, xi+1,…, xn) – единичная остаточная функция,
f(x1, x2,…, xi-1, 0, xi+1,…, xn) – нулевая остаточная функция, ⊕- операция суммирования по модулю два.
∂f
Производная первого порядка
от булевой функции f(x1,
∂xi
x2,…, xn) определяет условия, при которых эта функция изменяет
значение при переключении переменной xi.
∂ kf
Смешанной производной
от булевой функции f(x1,
∂xi1 ∂xi2 ...∂xik
x2,…, xn) называется выражение вида
∂ kf
∂
=
∂xi1 ∂xi2 ...∂xik ∂xik

∂ k-1f

 ∂xi ∂xi ...∂xi
k -1
 1 2

.

 (1.15.2)
Эту производную вычисляют, применяя соотношение (1.15.1)
k раз при фиксации переменных x1, x2,…, xn по порядку (порядок
фиксации переменных не существенен).
Производной k-го порядка от булевой функции f(x1, x2,…, xn) по
переменным xi1 , xi2 ,..., xik называется выражение, равное сумме по
модулю числа два всех производных первого порядка, вторых, третьих,…, k-х смешанных производных при фиксации переменных
xi1 , xi2 ,..., xik :
(
∂kf
∂ xi1 , xi2 ,..., xik
=
∂f
∂2 f
⊕
∑ ∂x ∑ ∂x ∂x ⊕
i
i
i,j, i ≠ j i j
∑
i,j,l
i ≠ j,i ≠ l,j ≠ l
)
=
∂3f
∂kf
⊕... ⊕
, (1.15.3)
∂xi ∂xj ∂xl
∂xi1 ∂xi2 ...∂xik
Производная k-го порядка определяет условия, при которых
функция f(x1, x2,…, xn) изменяет значение при одновременном изменении значений переменных xi1 , xi2 ,..., xik .
Рассмотрим пример. Пусть f ( x, y ) =
но, что
46
( xy → x ) ∧ ( xy → y ). Очевид-
f ( x, y ) =
( xy ∨ x ) ∧ ( xy ∧ y ) ≡ ( xy ∨ x ) ∧ xy ≡ ( x ∨ y ) ∧ xy ≡ xxy ∨ xyy ≡ xy.
Тогда
∂ 2f
∂  ∂f 
= 
 =1 ⊕ 0 =1,
∂x∂y ∂y  ∂x 
∂f
∂f
= 1 ⋅ y ⊕ 0 ⋅ y = y,
= x ⋅1 ⊕ x ⋅ 0 = x,
∂x
∂y
(
)
∂2 f
∂f ∂f
∂2 f
=
⊕
⊕
= y ⊕ x ⊕ 1 = y ⊕ x = y ∧ x ∨ y ∧ x ≡ xy ∨ x y,
∂ ( x, y ) ∂x ∂y ∂x∂y
(
)
так как
(
) (
)
x ⊕ y = x ↔ y ≡ x ∧ y ∨ x ∧ y , а x= x ⊕1.
Практическое использование введенные понятия производных
от булевых функций находят при проектировании и расчете логических схем переключательных устройств, именно: условия переключения различных каналов таких схем зависят от значений производных от булевых функций.
Выражение (1.13.1) для многочлена Жегалкина можно более подробно расписать в следующем виде:
=
f ( x1, x2 ,..., xn )
= f0 ⊕
n
=
∑ ai1i2...ik xi1 xi2 ...xik
i1,i2 ,...,ik
∑ fi1 xi1 ⊕
n
∑
i1 1=
i1,i2 1
=
i1 ≠ i2
⊕
n
∑
i1,i2 ,...,ik =1
i1 ≠ i2 ,i1 ≠ i3 ,...,ik-1 ≠ ik
fi1i2 xi1 xi2 ⊕ ... ⊕
fi1i2 ...ik xi1 xi2 ...xik ⊕ ... ⊕ f12...n x1x2...xn , (1.15.4)
где a0=f0, ai1 = fi1 и так далее, f0 , fi1 , fi1i2 ,..., f12...n ∈ {0,1}.
Последовательно продифференцируем полином Жегалкина от
функции f(x1, x2,…, xn) по переменным x1, x2,…, xn и найдем значения всех производных в точке (0, 0,…, 0. При этом, поскольку полиномы Жегалкина состоят из одночленов, в которые все переменные
входят не выше, чем в первой степени, то
∂  n  n
 xj  = ∧ xj .
 j 1,
∂xi  j∧1=
=


j ≠i
47
Кроме того, по свойству производной
после дифференцирования получаем
∂f
∂xi
( 0,0,...,0 )
= f,
∂ 2f
∂xi ∂xj
( 0,0,...,0 )
∂ ( f ⊕ g ) ∂f ∂g
=
⊕ . Тогда
∂x
∂x ∂x
∂ kf
∂x1∂x2...∂xk
= fij ,
( 0,0,...,0 )
= f12...k .
Действительно, после дифференцирования по переменным x1,
x2,…, xk все члены в разложении (1.15.4) до f12…k обращаются в нуль,
а в результате подстановки xk+1=xk+2=…=xn=0 остальные члены этого
разложения, кроме f12…k, также будут равны нулю. Тогда из (1.15.4)
после несложных преобразований получаем следующую теорему.
Теорема 1.17. Любая булева функция f(x1, x2,…, xn) представима
своим значением на наборе (0, 0,…, 0) и значениями всех производных
∂ 2f
∂f
∂n f
, …,
,
, i, j=1, 2,…, n, i≠j
∂xi ∂xi ∂xj
∂x1∂x2...∂xn
на этом наборе в виде
n
∂f
∂ 2f
∧ xi ⊕ ∑
∂xi 0,0,...,0
1=
i,j 1, ∂xi ∂xj
n
f ( x1, x2=
,..., xn ) f ( 0,0,...,0 ) ⊕ ∑
=i
∧ xi xj ⊕ ... ⊕
n
∑
i1,i2,...,ik =1,
i1 ≠ i2,i1 ≠ i3,...,ik-1 ≠ ik
... ⊕
(
)
∂ f
∂xi1 ∂xi2 ...∂xik
∂n f
∂x1∂x2...∂xn
i≠ j
k
( 0,0,...,0 )
∧
( 0,0,...,0 )
∧ xi1 xi2 ...xik ⊕...
∧ x1x2...xn . (1.15.5)
( 0,0,...,0 )
Это разложение аналогично разложению в ряд Маклорена для
функции n переменных. Для получения разложения булевой функции в ряд, аналогичный ряду Тейлора на наборе (σ1, σ2,…, σn), воспользуемся параллельным переносом начала координат.
/
/
xn ⊕ σn . Тогда точка (σ1,
x2 ⊕ σ2 , …, xn=
Пусть x1/= x1 ⊕ σ1, x2=
σ2,…, σn) в системе координат x1, x2,…, xn будет соответствовать точке (0, 0,…, 0) в системе x1/ , x2/ ,..., xn/ .
Разложим булеву функцию f(x1, x2,…, xn) по формуле (1.15.5)
в точке (0, 0,…, 0) и заменим каждую переменную xi/ на xi⊕σi; получим формулу и теорему о разложении булевой функции f(x1, x2,…,
xn) на произвольном наборе (σ1, σ2,…, σn).
48
Теорема 1.18. Любая булева функция f(x1, x2,…, xn) представима
своим значением на наборе (σ1, σ2,…, σn) и значениями всех своих
производных
∂ 2f
∂f
∂n f
, …,
,
, i, j=1, 2,…, n, i≠j,
∂xi ∂xi ∂xj
∂x1∂x2...∂xn
на этом наборе в виде
n
∂f
n
f ( x1, x2 ,..., xn )= f ( σ1, σ2 ,..., σn ) ⊕ ∑
∂f
∂
f ( x1, x2 ,..., xn )= f ( σ1, σ2 ,..., σn ) ⊕ ∑
i =1 xi
i =1 ∂xi
n
∂22f
n
⊕ ∑
∂ f
⊕ i∑
,j =1, ∂xi ∂xj
∂
x
i,ji=≠1j, i ∂xj
i≠ j
n
n
∑
∑ik =1,
i1,i2 ,...,
... ⊕
... ⊕
(σ1, σ2,...,σn )
(σ1, σ2,...,σn )
∂kk f
∂ f
... ⊕ ∂x1∂x2 ...∂xn
∂x1∂x2 ...∂xn
(
(
)
)
∧ ( xi ⊕ σi ) xj ⊕ σ j ⊕ ...
∧ ( xi ⊕ σi ) xj ⊕ σ j ⊕ ...
k ( xi ⊕ σi ) ⊕...
∧
x ⊕ σi ) ⊕...
j
∧
(σ1, σ2,...,σn ) =1( i
k
∂ f
∂xi ∂xi ...∂xi
∂xi11∂xi22...∂xikk
i1 ≠ ii21,,ii12≠,...,
i3 ,...,
ik =i1k,-1 ≠ ik
i1 ≠ i2 ,i1 ≠ i3 ,...,ik -1 ≠ ik
∂nn f
... ⊕
∧ ( xi ⊕ σi ) ⊕
( xi ⊕ σi ) ⊕
(σ1, σ2,...,σn ) ∧
(σ1, σ2,...,σn )
j
(σ1, σ2,...,σn ) j =1
j
n
n
∧ ( xj ⊕ σ j ) .
j =1( xj ⊕ σ j ) .
(σ1, σ2,...,σn )j∧
σ
σ
σ
,
,...,
( 1 2 n ) =1
j
j
(1.15.6)
Рассмотрим все этапы получения разложения по формуле (1.15.5)
для конкретной булевой функции f(x, y, z)=(xy→yz)→((x→y)→(z→y)).
Упростим эту формулу:
(
) (
) ((
)
)
f ( x, y, z )= xy ∨ yz ∨ x ∨ y ∨ z ∨ y ≡ xy ∧ yz ∨ x ∧ y ∨ z ∨ y ≡
(
(
)) (
)
≡ xy ∧ y ∨ z ∨ x ∨ y ∨ z ≡ xyy ∨ xyz ∨ x ∨ y ∨ z ≡ x ∨ y ∨ z.
Получим вначале представление этой функции полиномом Жегалкина
f ( x, y, z ) = x ∨ y ∨ z ≡ x ∧ y ∧ z = ( x ⊕ 1)( y ⊕ 1) z ⊕ 1 = ( xy ⊕ y ⊕ x ⊕ 1) z ⊕ 1 =
= xyz ⊕ yz ⊕ xz ⊕ z ⊕1.
Найдем теперь все необходимые производные:
∂f
= 1 ∨ y ∨ z ⊕ 0 ∨ y ∨ z = 1 ⊕ y ∨ z = = y ∨ z = yz.
∂x
49
То же самое получается из дифференцирования самого полинома Жегалкина
∂f
= yz ⊕ 0 ⊕ z ⊕ 0 ⊕ 0 = yz ⊕ z = z ( y ⊕ 1) = zy.
∂x
Далее аналогично:
∂f
= x ∨ 1 ∨ z ⊕ x ∨ 0 ∨ z = 1 ⊕ x ∨ z = x ∨ z = xz,
∂y
∂f
= x ∨ y ∨ 1 ⊕ x ∨ y ∨ 0 = x ∨ y ⊕ 1 = x ∨ y = xy;
∂z
∂ 2f
∂  ∂f 
∂ 2f
∂  ∂f 
=
=
⋅
⊕
⋅
=
= 
1
z
0
z
z
;


 = 1 ⋅ y ⊕ 0 ⋅ y = y;
∂x∂y ∂y  ∂x 
∂x∂z ∂z  ∂x 
∂ 3f
∂  ∂ 2f 
∂ 2f
∂  ∂f 
= 
=   = 1 ⋅ x ⊕ 0 ⋅ x = x;
 =1 ⊕ 0 =1.
∂x∂y∂z ∂z  ∂x∂y 
∂y∂z ∂z  ∂y 
Тогда формула (1.15.5) для данной булевой функции от трех переменных будет иметь вид
3
∂f
∂ 2f
∧ xi ⊕ ∑
∂xi
1=
i,j 1, ∂xi ∂xj
3
f ( x1, x2=
, x3 ) f ( 0,0,0 ) ⊕ ∑
=i
⊕
( 0,0,0 )
3
∂ f
∂x1∂x2∂x3
( 0,0,0 )
i≠ j
∧ xi xj ⊕
( 0,0,0 )
∧ x1x2x3,
то есть
( ) (0,0,0) ∧ x ⊕ ( xz) (0,0,0) ∧ y ⊕ ( xy ) (0,0,0) ∧
f ( x, y, z ) = x ∨ y ∨ z = 1 ⊕ yz
∧z ⊕ ( z )
( 0,0,0 )
( ) (0,0,0) ∧ xz ⊕ ( x ) (0,0,0) ∧ yz ⊕ 1 (0,0,0) ∧ xyz =
∧ xy ⊕ y
= 1 ⊕ 0 ⊕ 0 ⊕ 1 ⋅ z ⊕ 0 ⊕ 1 ⋅ xz ⊕ 1 ⋅ yz ⊕ 1 ⋅ xyz = 1 ⊕ z ⊕ xz ⊕ yz ⊕ xyz.
50
§ 1.16. k-значные логики
Рассмотренная в предыдущих подразделах двузначная логика допускает обобщение на k-значный случай. При этом хотя
в k-значных логиках сохраняются многие свойства и результаты
двузначной логики, часто наблюдаемые факты и явления обнаруживают принципиальное отличие от рассмотренной алгебры логики. Многие решенные задачи двузначной логики не имеют такого
исчерпывающего решения в k-значной логике, а иные и вовсе не решены.
Функция f(x1, x2,…, xn) называется функцией k-значной логики,
если ее аргументы определены на множестве {0, 1, 2,…, k–1}, состоящем из k элементов, а сама функция принимает значения из того
же множества.
Множество всех функций k-значной логики обозначается через
Pk. Очевидно, что функция f(x1, x2,…, xn) полностью определена,
если задана ее истинностная таблица 1.16.1.
Таблица 1.16.1
x1
x2
…
xn–1
xn
f(x1, x2,…, xn–1, xn)
0
0
…
0
0
f(0, 0,…, 0, 0)
0
0
…
0
1
f(0, 0,…, 0, 1)
0
0
…
0
2
f(0, 0,…, 0, 2)
…
…
…
…
…
…
0
0
…
0
k–1
f(0, 0,…, 0, k–1)
0
0
…
1
0
f(0, 0,…, 1, 0)
0
0
…
1
1
f(0, 0,…, 1, 1)
…
…
…
…
…
…
0
0
…
1
k–1
f(0, 0,…, 1, k–1)
…
…
…
…
…
…
k–1
k–1
…
k–1
k–1
f(k–1, k–1,…, k–1, k–1)
Так как число k-значных наборов длины n равно kn, то число
n
функций от n переменных в k-значной логике Pk равно kk .
Из сказанного ясно, что в Pk в значительной степени возрастают
трудности по сравнению с P2, даже в возможности перебора функций. Например, если функций от двух переменных в P2 всего 16, то
2
9
уже в P3 их 33= 3=
19683. Число строк в истинностной таблице
51
равное kn тоже растет очень быстро. Например, при k=n=3 таблица
имеет следующий вид (табл. 1.16.2).
Таблица 1.16.2
x1
x2
x3
f(x1, x2, x3)
x1
x2
x3
f(x1, x2, x3)
0
0
0
f(0, 0, 0)
1
1
2
f(1, 1, 2)
0
0
1
f(0, 0, 1)
1
2
0
f(1, 2, 0)
0
0
2
f(0, 0, 2)
1
2
1
f(1, 2, 1)
0
1
0
f(0, 1, 0)
1
2
2
f(1, 2, 2)
0
1
1
f(0, 1, 1)
2
0
0
f(2, 0, 0)
0
1
2
f(0, 1, 2)
2
0
1
f(2, 0, 1)
0
2
0
f(0, 2, 0)
2
0
2
f(2, 0, 2)
0
2
1
f(0, 2, 1)
2
1
0
f(2, 1, 0)
0
2
2
f(0, 2, 2)
2
1
1
f(2, 1, 1)
1
0
0
f(1, 0, 0)
2
1
2
f(2, 1, 2)
1
0
1
f(1, 0, 1)
2
2
0
f(2, 2, 0)
1
0
2
f(1, 0, 2)
2
2
1
f(2, 2, 1)
1
1
0
f(1, 1, 0)
2
2
2
f(2, 2, 2)
1
1
1
f(1, 1, 1)
В Pk, как и в P2, вводятся понятия существенной и несущественной (фиктивной) переменной, понятие равенства и суперпозиции
функций.
Рассмотрим примеры некоторых конкретных функций из Pk, которые можно считать элементарными.
x
= ( x +1) mod k – отрицание Поста.
1.
(1.16.1)
x в этой функции представляет собой обобщение отрицания
в смысле «циклического» сдвига значений. Например, при k=3 для
x
= ( x +1) mod 3 будем иметь следующую таблицу истинности 1.16.3:
Таблица 1.16.3
x
0
1
2
52
x
=
( x +1) mod 3
1
2
0
Таблица 1.16.4
x
Nx=k–1–x
0
2
1
1
2
0
x = Nx = k - 1 - x. 2.
(1.16.2)
Это другое обобщение отрицания, в смысле «зеркального» отображения значений. Эта функция носит название отрицания Лукасевича1. Для k=3 таблица истинности этой функции приведена
в табл. 1.16.4.
k - 1, x =
i,

Ji ( x ) = 
i, ( i 0,1,2,..., k - 1).
0, x ≠ =
3. (1.16.3)
Эта функция называется характеристической функцией второго
рода числа i и обобщает некоторые свойства отрицания. Если k=3,
то
2, x = i,

Ji ( x ) = 
0,1,2 )
0, x ≠ i, ( i =
и таблица истинности имеет вид табл. 1.16.5.
Таблица 1.16.5
i
x
Ji(x)
i
x
Ji(x)
i
x
Ji(x)
0
0
2
0
1
0
0
2
0
1
0
0
1
1
2
1
2
0
2
0
0
2
1
0
2
2
2
4.
1, x = i,

ji ( x ) = 
–
i, ( i 0,1,2,..., k - 1)
0, x ≠ =
характеристическая функция первого рода значения i.
5.
min(x1, x2) – первое обобщение конъюнкции. 6.
(x1⋅x2)mod k – (1.16.4)
(1.16.5)
(1.16.6)
произведение по модулю k и второе обобщение конъюнкции.
Таблицы истинности для этих функций приведены в табл. 1.16.6
и 1.16.7 (k=3).
1
Ян Лукасевич (1878–1956) – польский математик и логик.
53
Таблица 1.16.6
Таблица 1.16.7
x1
x2
min(x1, x2)
x1
x2
(x1⋅x2)mod 3
0
0
0
0
0
0
0
1
0
0
1
0
0
2
0
0
2
0
1
0
0
1
0
0
1
1
1
1
1
1
1
2
1
1
2
2
2
0
0
2
0
0
2
1
1
2
1
2
2
2
2
2
2
1
7. max(x1, x2) – обобщение дизъюнкции (см. табл. 1.16.8). (1.16.7)
8. (x1+x2)mod k – сумма по модулю k (см. табл. 1.16.9).(1.16.8)
 0, 0 ≤ x < y ≤ k - 1,
9. Усеченная разность x ÷ y =

x - y, 0 ≤ y ≤ x ≤ k - 1.
k - 1, 0 ≤ x < y ≤ k - 1,

10. Импликация x → y =
При k=3

( k - 1) - x + y, 0 ≤ y ≤ x ≤ k - 1.
 2, 0 ≤ x < y ≤ 2,
операция импликации имеет вид x → y =
а ее

2 - x + y, 0 ≤ y ≤ x ≤ 2,
таблица истинности дана в табл. 1.16.10.
Таблица 1.16.8
54
Таблица 1.16.9
x1
x2
max(x1, x2)
x1
x2
(x1+x2)mod 3
0
0
0
1
1
1
2
2
2
0
1
2
0
1
2
0
1
2
0
1
2
1
1
2
2
2
2
0
0
0
1
1
1
2
2
2
0
1
2
0
1
2
0
1
2
0
1
2
1
2
0
2
0
1
Таблица 1.16.10
x
y
x→y
x
y
x→y
x
y
x→y
0
0
2
1
0
1
2
0
0
0
1
2
1
1
2
2
1
1
0
2
2
1
2
2
2
2
2
11. Функция Вебба: (max(x, y)+1)mod k.
12. Разность по модулю k:
 x - y, 0 ≤ y ≤ x ≤ k - 1,
x-y =

k - ( y - x ), 0 ≤ x < y ≤ k - 1.
При k=3 получим
 x - y, 0 ≤ y ≤ x ≤ 2,
x-y =

3 - ( y - x ), 0 ≤ x < y ≤ 2.
Таблица истинности этой операции приведена в табл.1.16.11.
Таблица 1.16.11
x
y
(x–y)mod 3
x
y
(x–y)mod 3
x
y
(x–y)mod 3
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
Из этого списка функций видно, что элементарные функции алгебры логики имеют при k≥3 по несколько налогов, каждый из которых обобщает соответствующее свойство функции.
Функции min, max, +, ⋅ обладают свойствами коммутативности и ассоциативности:
1) x1⋅x2=x2⋅x1;
x1+x2=x2+x1;
2) (x1⋅x2)⋅x3=x1⋅(x2⋅x3);
(x1+x2)+x3=x1+(x2+ x3).
Кроме того, справедливы следующие соотношения:
3) (x1+x2)⋅x3=(x1⋅x3)+(x2⋅x3) – дистрибутивность умножения относительно сложения;
4) max(min(x1, x2), x3)=min(max(x1, x3), max(x2, x3)) – дистрибутивность операции max относительно операции min;
55
5) min(max(x1, x2), x3)=max(min(x1, x3), min(x2, x3)) – дистрибутивность операции min относительно операции max;
6) max(x, x)=x, min(x, x)=x- идемпотентность операций min и max;
7)
min ( x1, x2 ) =  max ( x1, x2 ),
– аналоги правил де Моргана;
max ( x1, x2 ) =  min ( x1, x2 ).
 0, x = 0,
8) -x =

k - x, x ≠ 0.
Функция f(x1, x2,…, xn)∈Pk называется существенной, если она
существенно зависит не менее чем от двух переменных и принимает
все k значений из множества {0, 1, 2,…, k–1}.
Обобщим теперь понятие совершенной дизъюнктивной нормальной формы на k-значный случай. Это можно сделать не единственным образом. Будем обозначать функции min(x1, x2) и max(x1, x2)
соответственно через (x1∧x2) и (x1∨x2).
Функция x1∧x2∧…∧x=min(x1, x2,…, xn) называется конъюнкцией
на k-значной логике. Тогда элементарная конъюнкция будет иметь
вид Jσ1 ( x1 ) ∧ Jσ2 ( x2 ) ∧ ... ∧ Jσn ( xn ). Она отлична от нуля лишь на
наборе (σ1, σ2,…, σn) и равна k–1 на этом наборе.
Для функции f(x1, x2,…, xn) СДНФ при k=2 имеет вид (1.8.3)
f ( x1, x2 ,..., xn =
)
∨
σ
σ1,σ2 ,...,σn
σ
f ( σ1, σ2 ,..., σn ) ∧ x1 1 ∧ x2 2 ∧ ... ∧ xnσn ,
где дизъюнкция берется по всем двоичным наборам.
Функция от n переменных k-значной логики единственным образом представляется в виде
f ( x1, x2 ,..., xn ) =
=
∨
σ1,σ2 ,...,σn
max
σ1,σ2 ,...,σn
f ( σ1, σ2 ,..., σn ) ∧ Jσ1 ( x1 ) ∧ Jσ2 ( x2 ) ∧ ... ∧ Jσn ( xn=
)
{min ( f ( σ1,σ2,...,σn ), Jσ ( x1 ), Jσ ( x2 ),...,Jσ
1
2
n
( xn ) )}. (1.16.9)
Эта формула – аналог СДНФ для функции f(x1, x2,…, xn)
в k-значной логике. В литературе данное разложение называется
первой формой. Доказывается формула прямой проверкой.
f(x1, x2,…, xn) в формуле (1.16.9) разложена по системе функций
{0, 1, 2,…, k–1, J0(x), J1(x),…, Jn(x), min(x1, x2), max(x1, x2)}. Поскольку это разложение справедливо для любой произвольной функции
56
f(x1, x2,…, xn), то данная система функций полна. С этой полной системой связано несколько групп тождеств, которые позволяют перейти от любой формулы над данным множеством функций к другой
эквивалентной ей формуле.
k-значная логика, определяемая полной системой функций {0,
1, 2,…, k–1, J0(x), J1(x),…, Jn(x), min(x1, x2), max(x1, x2)}, называется
в литературе алгеброй Россера1-Тьюкета2. Другими часто встречающимися k-значными логиками являются логики, определяемые
следующими полными системами функций:
алгебра Поста {0, 1,..., k - 1, max ( x1, x2 ), }, где x
=
( x + 1) mod k;
алгебра Вебба {0, 1,..., k - 1,  }=
, где x1  x2 ( max ( x1, x2 ) + 1) mod k.
Пример. Пусть f ( x, y )=  ( x ∨ y ) ∨ ( y ∨ x ). Представим эту формулу при k=3 аналогом СДНФ в форме (1.16.9). Метод равносильных преобразований, которым мы пользовались в P2, здесь применить значительно труднее. Для этого необходимо иметь все тождества в P3, связанные с системой функций {0, 1, 2, J0(x), J1(x), J2(x),
min(x1, x2), max(x1, x2)}. Воспользуемся истинностной табл. 1.16.12
для f(x, y).
Таблица 1.16.12
y ∨ x
 ( x ∨ y )
f(x, y)
2
2
0
2
1
2
1
0
1
2
0
2
0
0
0
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
x
y
x
y
0
0
2
2
0
1
2
0
2
1
1
2
x ∨ y
Джон Барклей Россер (1907–1989) – американский математик.
Этвел Руфус Тьюкет (1914–1981) – американский математик.
57
ÑÍÄÔ f ( x, y ) =
∨ f ( σ1, σ2 ) ∧ Jσ
σ1,σ2
1
( x ) ∧ Jσ2 ( y ) =
( f ( 0,0 ) ∧ J0 ( x ) ∧ J0 ( y ) ) ∨ ( f ( 0,1) ∧ J0 ( x ) ∧ J1 ( y ) ) ∨
∨ ( f ( 0,2 ) ∧ J0 ( x ) ∧ J2 ( y ) ) ∨ ( f (1,0 ) ∧ J1 ( x ) ∧
∧ J0 ( y ) ) ∨ ( f (1,1) ∧ J1 ( x ) ∧ J1 ( y ) ) ∨ ( f (1,2 ) ∧ J1 ( x ) ∧ J2 ( y ) ) ∨ ( f ( 2,0 ) ∧
∧ J2 ( x ) ∧ ∧ J0 ( y ) ) ∨ ( f ( 2,1) ∧ J2 ( x ) ∧ J1 ( y ) ) ∨ ( f ( 2,2 ) ∧ J2 ( x ) ∧ J2 ( y ) ) =
=
(2 ∧ J0 ( x ) ∧ J0 ( y ) ) ∨ (1 ∧ J0 ( x ) ∧ J1 ( y ) ) ∨ ( 0 ∧ J0 ( x ) ∧ J2 ( y ) ) ∨
∨ ( 2 ∧ J1 ( x ) ∧ J0 ( y ) ) ∨ (1 ∧ J1 ( x ) ∧ J1 ( y ) ) ∨ (1 ∧ J1 ( x ) ∧ J2 ( y ) ) ∨
∨ ( 2 ∧ J2 ( x ) ∧ J0 ( y ) ) ∨ ( 2 ∧ J2 ( x ) ∧ J1 ( y ) ) ∨ ( 2 ∧ J2 ( x ) ∧ J2 ( y ) ).
=
Проверим, например, значение функции на наборе (1, 2):
f (1,2 ) =
1=
(2 ∧ J0 (1) ∧ J0 (2) ) ∨ (1 ∧ J0 (1) ∧ J1 (2) ) ∨ ( 0 ∧ J1 (1) ∧ J0 (2) ) ∨
∨ ( 2 ∧ J1 (1) ∧ J0 ( 2 ) ) ∨ (1 ∧ J1 (1) ∧ J1 ( 2 ) ) ∨ (1 ∧ J1 (1) ∧ J2 ( 2 ) ) ∨ ( 2 ∧ J2 (1) ∧
∧ J0 ( 2 ) ) ∨ ( 2 ∧ J2 (1) ∧ J1 ( 2 ) ) ∨ ( 2 ∧ J2 (1) ∧ J2 ( 2 ) ) = ( 2 ∧ 0 ∧ 0 ) ∨ (1 ∧ 0 ∧ 0 ) ∨
∨ ( 0 ∧ 0 ∧ 2 ) ∨ ( 2 ∧ 2 ∧ 0 ) ∨ (1 ∧ 2 ∧ 0 ) ∨ (1 ∧ 2 ∧ 2 ) ∨ ( 2 ∧ 0 ∧ 0 ) ∨ ( 2 ∧ 0 ∧ 0 ) ∨
∨ ( 2 ∧ 0 ∧ 2 ) = 0 ∨ 0 ∨ 0 ∨ 0 ∨ 0 ∨ 1 ∨ 0 ∨ 0 = 1.
При использовании формулы (1.16.9) особо отметим необходимость присутствия констант 0, 1, 2,…, k–1, чего не было в P2, так как
там можно было в СДНФ опустить коэффициенты, перейдя к дизъюнкции по наборам, на которых f(σ1, σ2,…, σn)=1.
Если в разложении f(x1, x2,…, xn) использовать характеристические функции первого рода, то для любой функции f(x1, x2,…, xn) из
Pk имеет место представление, называемое второй формой:
∑
σ1,σ2 ,...,σn
( jσ
1
f ( x1, x2 ,..., xn ) =
( x1 ) jσ2 ( x2 )...jσn ( xn ) f ( σ1,σ2 ,...,σn ) ) mod k. (1.16.10)
Эта формула по структуре аналогична формуле (1.9.1).
В k-значной логике можно рассмотреть вопрос о представимости
функций полиномами (аналоги полиномов Жегалкина). При этом
оказывается, что такое представление возможно только для простых k.
58
Теорема 1.19. Система полиномов по mod k полна в Pk тогда и
только тогда, когда k=p, где p – простое число.
В теории k-значных логик в последнее время получены значительные результаты. Они показывают существенное отличие
k-значных логик от двузначного случая, кроме того, многие результаты зависят от значения числа k.
§ 1.17. Практическое занятие № 3.
Минимизация в классе дизъюнктивных нормальных форм.
Замкнутые классы и полнота систем функций алгебры логики.
k-значные логики
1.17.1. Найти сокращенную, все тупиковые и минимальные ДНФ
булевой функции f(x, y, z) методом Квайна. Каким классам Поста
принадлежит эта функция?
1) f(0, 0, 0)=f(0, 0, 1)=f(1, 0, 1)=f(1, 1, 1)=1;
2) f(0, 0, 0)=f(1, 1, 1)=f(1, 1, 0)=0;
3) f(1, 0, 0)=f(0, 1, 1)=f(0, 1, 0)=0;
4) f(0, 1, 1)=f(0, 1, 0)=f(1, 0, 1)=f(1, 1, 1)=1;
5) f(0, 1, 1)=f(1, 0, 0)=f(1, 0, 1)=1.
1.17.2. Представить x⊕y в виде СДНФ и СКНФ, найти (x⊕y)*.
1.17.3. Представить полиномами Жегалкина:
1) основные логические операции;
2) x∨y∨z;
3) xy∨yz∨xz;
4) xyz ∨ xyz ∨ xyz ∨ x yz. .
1.17.4. Доказать, что функция, представленная полиномом Жегалкина, существенно зависит от всех входящих в него переменных.
1.17.5. Представив функцию f полиномом, выяснить, является
ли она линейной:
1) f = ( x → y ) ⊕ xy;
2) f =xy ∨ x y ∨ z;
=
3) f xy ( x ↔ y );
4) f =( x ∨ yz ) ⊕ xyz.
1.17.6. Найти число всех линейных функций от n переменных.
1.17.7. Найти число линейных функций f(x1, x2,…, xn) таких, что
f(0, 0,…, 0)=f(1, 1,…, 1)=1.
1.17.8. Выяснить принадлежит ли функция f множеству P1\P0:
1) f=(x1→x2)(x2→x3)(x3→x1);
2) f=m(x1, x2, x3);
59
3) f= x1x2x3 ∨ x1x2 ∨ x2;
4) f =x1 ∨ x2 x3 ∨ x1x2 ∨ x2.
1.17.9. Какие из указанных функций являются монотонными:
1) xy ∨ xz ∨ xz; ;
2) x→(x→y);
3) x ∨ y ↔ x ∨ y;
4) x ∨ y ↔ x y;
5) xy ∨ x ∨ xz ?
1.17.10. Перечислить все монотонные функции от двух переменных.
1.17.11. Можно ли из функции f =x yz ∨ t ( xy → z ) получить:
1) функцию x отождествлением переменных;
2) функцию x подстановкой констант 0, 1;
3) функцию z отождествлением переменных?
1.17.12. Доказать полноту следующих систем функций:
1) xy, x;
2) x ∨ y, x;
3) x ∨ y;
4) x⊕y, x∨y, 1;
5) x→y, 0.
1.17.13. Показать, что полные системы из задачи 1.17.12 являются базисами.
1.17.14. Доказать, что базис не может содержать:
1) более пяти функций;
2) более четырех функций.
1.17.15. Из полной в P2 системы функций G выделить всевозможные базисы:
1) G={0, x⊕y, x→y, xy↔xz};
2) G={x⊕y, xy⊕z, x⊕y⊕z⊕1, xy⊕yz⊕xz};
xy ∨ xz, x, x → y, 0, x ⊕ yz .
3) G =
x3 ) x1x2 ∨ x1 x3 найти все ее про1.17.16. Для функции f ( x1, x2,=
изводные (в том числе смешанные) до третьего порядка включительно.
1.17.17. Представить следующие булевы функции значениями
в точке (0, 0,…, 0) и значением всех производных в этой же точке:
1) f(x, y, z)=x∨y→z;
2) f(x, y)=x∨y→(x↔y);
3) f(x, y, z)=(x→z)(y→z)→(x→y).
1.17.18. Доказать справедливость следующих равенств:
x;
1) - x =
(
{
( )
60
)
}
(
)
( x ) + ( y );
min ( x, y ) + J0 ( y ÷ x ) - jk-1 ( x ) ⋅ y =
min ( x, y ).
2)  x + y =
3)
1.17.19. Для заданного k представить функцию f в первой и второй формах (полученные выражения упростить):
1)
=
f x=
, k 3;
=
=
, k 4;
2) f x
x ÷ y2, k =
3.
3) f =
1.17.20. Разложить в полином по модулю k функцию f из Pk:
1) f =
x2 ÷ x, k =
5;
2)=
f max ( 2x ÷ y, x ⋅ y ),=
k 3.
§ 1.18. Схемы из функциональных элементов.
Релейно-контактные схемы, оценка сложности схем [8]
Схемой из функциональных элементов (СФЭ) называется ориентированная бесконтактная сеть с помеченными вершинами. Пусть
имеется некоторое устройство с n упорядоченными входами и одним выходом (см. рис. 1.1). На каждый из входов может подаваться
два сигнала, которые можно обозначить символами 0 и 1. Очевидно, что набор сигналов на входах однозначно определяет сигнал на
выходе. Такое устройство называется функциональным элементом.
Ясно, что каждому функциональному элементу отвечает функция
алгебры логики f(x1, x2,…, xn). Схема из функциональных элементов получается путем проведения следующих операций:
1) один из входов какого-то функционального элемента соединяется с выходом другого функционального элемента;
2) некоторые входы функционального элемента отождествляются, т. е. на эти входы подается один и тот же сигнал. На рис. 1.2 изображена допустимая схема из функциональных элементов.
f1
f2
1
2 3
… n–1 n
Рис. 1.1
1)
2)
Рис. 1.2
61
Ясно, что функция, которая реализуется этой схемой, является
суперпозицией функций, реализуемых теми функциональными
элементами, из которых эта схема построена. Схемы, полученные
с помощью операций 1–2, называются допустимыми. Вход x функционального элемента f называется фиктивным, если при любом
наборе сигналов на остальных входах сигнал на выходе не зависит
от сигнала на входе x. Функциональные элементы называются эквивалентными, если они отличаются лишь нумерацией входов и
фиктивными входами.
Очевидно, что язык схем из функциональных элементов в целом
эквивалентен языку суперпозиции функций алгебры логики. Однако при построении схем возникают некоторые ограничения:
1) не могут соединяться выходы;
2) у схемы должен быть лишь один выход;
3) нельзя соединять какой-то вход элемента схемы с выходом, т. е. не допускаются
циклы.
f2
f1
Совокупность элементов f1, f2,…, fk называется циклом (см. рис. 1.3), если выход элемента f1 соединен с каким-то входом элемента f2, выход элемента f2 с каким-то входом f3
Рис. 1.3
и так далее, выход fk-1 – с каким- то входом
fk, а выход fk с каким-то входом f1. В таком
случае говорят, что в соединении элементов существует обратная
связь. Еще один способ реализации функций алгебры логики – релейно-контактные схемы (РКС), широко используемые в электронно-вычислительной технике. Описание и конструирование таких
схем в силу их громоздкости весьма затруднительно. Однако оказалось, что при конструировании РКС можно использовать аппарат
булевых функций.
Исходное замечание состоит в том, что если логической переменной x поставить в соответствие проводник, по которому ток идет
или нет в зависимости от того x=1 или x=0, то последовательному соединению проводников отвечает конъюнкция переменных, а параллельному – дизъюнкция. Часто проводники на схемах заменяют
обозначением специальных устройств – переключателей, которые
могут быть механическими и электронными. Многократно используя параллельно-последовательные соединения, можно строить
сложные схемы. Очевидно, что при этом можно реализовать лишь
монотонные функции.
62
С x
1
x
В
А
Рис. 1.4
Рис. 1.5
Для реализации произвольных функций необходимо уметь реализовать отрицание. Это можно сделать при помощи устройства,
называемого реле с размыкающим контактом (рис. 1.4). Если по обмотке катушки А ток не идет (x=0), то пружина оттягивает контакт
В вверх, и цепь замыкается. В результате на клемме С будет ток
(x=1). Если же по обмотке А идет ток (x=1), то контакт В притягивается вниз и на выходе С нет тока (x=0).
Для РКС также существует проблема задержки сигналов на элементах схемы. Мы не будем рассматривать эту проблему, а ограничимся только схемами, в которых соединяются лишь контакты.
Контакт или переключатель будем изображать отрезком или прямоугольником, концы контакта называть полюсами. Конструкция,
изображенная на рис. 1.8, называется двухполюсником. Двухполюсник будем снабжать символом переменной x, если контакт замыкающий, и x, если размыкающий. Двухполюсники соединяются полюсами. В результате схема будет представлять из себя граф.
Граф Γ с k полюсами, в котором каждое ребро помечено буквой из
алфавита Xn = x1, x2 ,..., xn , x1, x2 ,..., xn , называется k – полюсной
контактной схемой, реализующей булевы функции переменных x1,
x2,…, xn, или 〈k, n〉-схемой. Контактная схема называется связной
(сильно связной, паралллельно-последовательной), если таковым
является ее граф. Параллельно-последовательная схема называется π-схемой. Две схемы называются изоморфными, если их графы
изоморфны и при этом соответствующие ребра и полюса помечены
одинаково. В графе выделяются две вершины: вход и выход. Часто
вход изображает полюс в виде светлого кружка, остальные полюса
изображаются темными кружками.
Релейно-контактные схемы отличаются от схем из функциональных элементов тем, что в СФЭ каждый имеющийся сигнал
можно было размножить без дополнительных устройств (выход
элемента можно соединять с любым числом входов), в то время как
размножения сигнала в РКС его нужно подать на обмотку катушки с нужным числом положительных контактов. Второе различие
{
}
63
заключается в том, что в РКС дизъюнкция реализуется путем параллельного соединения проводников, в СФЭ для этого необходим
специальный элемент.
Какую же функцию алгебры логики реализует контактная схема? Эта функция равна единице при тех значениях аргументов, при
которых в схеме есть проводимость, и нулю, если проводимости
нет. Пусть a и b – два полюса контактной схемы Σ, [a, b] – некоторая
цепь, соединяющая a и b, и K[a, b] – конъюнкция букв, приписанных
ребрам цепи [a, b]. Функция fa,b x n , определяемая формулой
( )
( )
fa,b x n =
∨ K
,
[a,b] [a,b] (1.18.1)
в которой дизъюнкция берется по всем простым цепям схемы, соединяющим полюса a и b, называется функцией проводимости
между полюсами a и b схемы Σ. На самом деле для получения функции проводимости достаточно брать дизъюнкцию не по всем цепям,
а лишь по некоторым.
Цепь Γ1 называется существенной, если она ни через какую вершину графа не проходит дважды. Оказывается, что дизъюнкция
конъюнкций, соответствующих существенным цепям, равносильна функции проводимости. Действительно, пусть имеется некоторая цепь, в которой некоторая вершина встречается дважды. Отбросим все контакты, которые встречаются между двумя прохождениями через эту вершину. Ясно, что при этом мы вновь получим цепь,
причем если все контакты исходной цепи были замкнуты, то будут
замкнуты и все контакты вновь полученной цепи. Таким образом,
последовательно сокращая цепь, можно получить существенную
цепь, в которой будет проводимость, если была проводимость в исходной цепи.
Посмотрим теперь как обстоит дело с обратной задачей: построением по функции реализующей ее схемы. Представим функцию
в виде ДНФ. Каждой входящей в ДНФ элементарной конъюнкции
σ
σ
σ
x1 1 ∧ x2 2 ∧ ... ∧ xk k поставим в соответствие схему (рис. 1.6), состоσ
σ
σ
ящую из последовательно соединенных контактов x1 1 , x2 2 ,..., xk k .
Это схема элементарной конъюнкции. На рис. 1.6 и 1.7 величины
σ
xi i обозначены через yi. После отождествления между собой, с одной стороны, входов всех этих схем, с другой стороны – выходов,
получим функцию, соответствующую заданной схеме. Естественно,
можно реализовать функцию по схемам также исходя из КНФ. Каж64
y1
y2
y1
y2
…
yk
…
yk
Рис. 1.6
Рис. 1.7
σ
σ
σ
дой элементарной дизъюнкции x1 1 ∨ x2 2 ∨ ... ∨ xk k поставим в соответствие схему, изображенную на рис. 1.7. Затем последовательно
соединим все эти схемы для всех элементарных дизъюнкций, входящих в КНФ, так, чтобы вход последующей схемы совпадал с выходом предыдущей.
Схему, состоящую из одного контакта, называют элементарной.
Ясно, что любая π-схема может быть получена из элементарных за
некоторое число шагов при помощи параллельных и последовательных соединений. Каждому способу построения π-схемы из элементарных схем отвечает представление функции проводимости в виде
формулы, содержащей только дизъюнкции, конъюнкции и отрицания.
Если контактная схема является π-схемой, то ее можно разбить
на несколько схем, соединенных либо последовательно, либо параллельно. Обратное тоже верно. Если схема не допускает разбиения на
две схемы, соединенные либо последовательно, либо параллельно,
она не является π-схемой. Для примера рассмотрим схему «мостик»
(рис. 1.8), которая не является элементарной. Если две схемы соединены последовательно, то у полученной общей схемы все полюсы,
кроме соединяющего, либо не имеют общих контактов ни с входом,
ни с выходом всей схемы, либо имеют общий контакт или только
с входом, или только с выходом. Очевидно, что какой бы из внутренних полюсов на рис. 1.8 мы не приняли за
соединяющий подсхемы, оставшийся полюс будет иметь общий контакт как с вхоy
x
дом, так и с выходом схемы. Поэтому схему
z
«мостик» нельзя получить последовательu
ным соединением двух схем.
t
Если общая схема – результат параллельного соединения двух схем, то ее контакты
Рис. 1.8
и полюсы можно разбить на две части так,
65
чтобы либо в одной части содержались контакты, непосредственно
соединяющие вход и выход, либо полюсы, входящие в рассматриваемые различные две части схемы и отличные от входа и выхода, не
будут иметь общих контактов. Ни первая, ни вторая возможность
на схеме рис. 1.8 не может реализоваться. Следовательно, эта схема
не является π-схемой.
Две контактные схемы называются эквивалентными, если они
реализуют одну и ту же булеву функцию или одну и ту же систему
функций. Схема называется минимальной, если она содержит наименьшее возможное число контактов среди всех схем, имеющих ту
же функцию проводимости.
Пусть f(x1, x2,…, xn) – булева функция n переменных. Обозначим
через L(f) – число контактов в реализующей ее минимальной схеме,
Lπ(f) – число контактов в минимальной π-схеме этой функции, тогда
L(f)≤Lπ(f). (1.18.2)
Наибольшее значение L(f) для f(x1, x2,…, xn) называется функцией Шеннона1 L(n). Величина L(f) или Lπ(f) называется сложностью
булевой функции f в классе контактных схем или в классе π-схем.
Сложностью булевой функции f в классе формул (над множеством
связок ∨, ∧, ) называется число вхождений символов переменных. Сложность функции f в этом классе формул обозначается через LФ(f).
Оценим L(n) сверху, используя индуктивный способ реализации
функции. Разложим функцию f(x1, x2,…, xn) по переменной xk+1:
{
}
f = xk+1ϕ ( x1, x2 ,..., xk ) ∨ xk+1ψ ( x1, x2 ,..., xk ).
Если функции ϕ и ψ уже реализованы, то функция f реализуется как показано на рис. 1.9. Если для реализации функций
от k переменных требуется не более ck контактов, то для реализации f их нужно не более 2ck+2, т. е. ck+1≤2ck+2. Так как c1=1, то
ck≤2k+2k–1+2k–2+…+22+2=3⋅2k–1–2. Итак,
L(n)≤3⋅2n–1–2. (1.18.3)
Рассмотрим теперь способ реализации функций, не приводящий к π-схемам. При построении схемы с помощью СДНФ нужно
отдельно реализовать каждую элементарную конъюнкцию, а потом
параллельно соединить все полученные схемы. Можно, однако, реализовать все элементарные конъюнкции одновременно. Это дела1
66
Клод Элвуд Шеннон (1916–2001) – американский математик.
ется с помощью многополюсников слеxk+1
ϕ
дующим образом. Схема с k+1 полюсами
называется (1, k) – полюсником с одним
входом и k выходами. На выходах (1, k) –
xk +1
ψ
полюсника реализуется одновременно k
функций алгебры логики. УниверсальРис. 1.9
ным (1, 2n) – полюсником называется (1,
n
2 ) – полюсник (рис. 1.10), на выходах
которого реализуются все полные правильные элементарные конъюнкции от n
xn
x3
переменных.
xn
Он получается при отождествлеx2
x3
нии входов элементарных конъюнкций
x1
x2
(рис. 1.9) или методом, изображенным
…
на рис. 1.10. Укажем способ построения
x1 x2
схемы для функции алгебры логики, исx3
x2
пользующий универсальный многопоxn
x3
люсник. Пусть нужно реализовать функxn
цию f(x1, x2,…, xn). Представим ее в виде
СДНФ. Отождествим у универсального
Рис. 1.10
(1, 2n) – полюсника выходы, на которых
реализуются элементарные конъюнкции, входящие в СДНФ. Объявим получившийся в результате полюс выходом схемы. Эта схема, очевидно, реализует f(x1, x2,…, xn).
Можно похожим образом описать схему, реализующую любую булеву функцию f(x1, x2,…, xn), разложенную в СДНФ по последним n–k
переменным:
f ( x1,..., xk ; xk+1,..., xn ) =
=
∨
( σk +1,...,σn )
σ
ϕσk +1,...,σn ( x1,..., xk ) xk+k1+1 ∧ ... ∧ xnσn . Схема для формулы 1.18.4 состоит
из двух частей (рис. 1.11): первая часть
M1 представляет собой универсальный
(1, 2n–k) – полюсник для переменных
x1, x2,…, xn. Каждый выход схемы M1
соответствует некоторой элементарной
σ
σ
конъюнкции
xk+k1+1 ∧ xk+k 2+2 ∧ ... ∧ xnσn
M1
…
(1.18.4)
M2
Рис. 1.11
67
a)
x1
x1
б)
x2
x1
x2
x1
x2
x2
x2
в) x
1
x3
x2
x3
x1
x2
x2
Рис. 1.12
в формуле (1.18.4). Вторая часть M2 представляет собой совокупk
ность схем для всех 22 функций ϕ от k переменных x1, x2,…, xk,
у которых отождествлены выходы. 2n–k из этих функций – коэффициенты при элементарных конъюнкциях в (1.18.4). Схема для f(x1,
x2,…, xn) конструируется следующим образом: отождествляется
вход M2, соответствующий функции ϕ, стоящей коэффициентом
σ
σ
при конъюнкции xk+k1+1 ∧ xk+k 2+2 ∧ ... ∧ xnσn с входом M1, отвечающим
этой конъюнкции. Если провести отождествление всех выходов M1,
получим схему для функции f(x1, x2,…, xn).
Пример 1. Найти функции, реализуемые схемами на рис. 1.12.
Первые две функции представлены π-схемами, поэтому их восстановление довольно просто:
а)
f ( x1, x2=
) x1x2 ∨ x1x2 ≡ x1 x2 ∧ x1x=
2
≡ x1 x2 ∧ x1=
x2
( x1 ( x2 ⊕ 1) ⊕ 1) ( ( x1 ⊕ 1) x2 ⊕ 1) ⊕=1
⊕1
( x1 ( x2 ⊕ 1) ⊕ 1) ( ( x1 ⊕ 1) x2 ⊕ 1)=
= ( x1x2 ⊕ x1 ⊕ 1) ⋅ ( x1x2 ⊕ x2 ⊕1) = x1 ⊕ x2 ;
б)
(
) (
)
f ( x1, x2 ) = ( x1 ∨ x2 ) ∧ x1 ∨ x2 ≡ x1 ∧ x2 ( x1 ∧ x2 ) =
=
( ( x1 ⊕ 1)( x2 ⊕ 1) ⊕ 1) ( x1x2 ⊕1) = ( x1x2 ⊕ x1 ⊕ x2 )( x1x2 ⊕ 1) =
x1 ⊕ x2 .
Для последнего пункта (в) составим по формуле (1.18.1) функцию
проводимости. Для этого необходимо перечислить все цепи, соединяющие начальный a и конечный b полюсы схемы:
fa,b (x 2 ) =
f (x1, x2 ) =
∨ K[a,b] =
x1 x2 ∨ x1x2 ∨ x2 x3 x2 ∨ x2 x3 x2 ∨ x1 x3 x3 x2 ∨
[a,b]
∨ x1x3 x2 x2 ≡ x1 x2 ∨ x1x2 ∨ x2 x3 ≡ x1 x2 ∧ x1x2 ∧ x3 x2=
× ( ( x1 ⊕ 1) x2 ⊕ 1) ( ( x3 ⊕ 1) x2 ⊕ 1) ⊕ 1=
68
( x1 ( x2 ⊕ 1) ⊕ 1) ×
( x1 ⊕ x2 ⊕ 1)( x2 x3 ⊕ x2 ⊕ 1) ⊕ 1=
= x1x2 x3 ⊕ x1x2 ⊕ x1 ⊕=
x2 x1x2 x3 ⊕ x1 ⊕ x2 .
Пример 2. Построить контактную схему сложности, не превыша-
( )
ющей l, реализующую функцию f x 3 = x1 x2 ⊕ x2 x3 ⊕ x1x3 ⊕ 1, l = 5.
{
}
Представим функцию f в базисе ∨, ∧, . Если число букв окажется равным l, то построим соответствующую схему. Если же число букв будет больше l, то реализуем отдельные подформулы схемами и попытаемся совместить куски схем так, чтобы не возникло
«ложных» цепей.
Так как x ⊕ y = xy ∨ xy, то
f ( x1, x2 , x=
1 x2 ( x1 ⊕ x3 ) ⊕ x1x=
3 ) x1 x2 ⊕ x2 x3 ⊕ x1x3 ⊕=
3
(
)
= x2 x1 x3 ∨ x3 x1 ⊕ x1x3= x1 x2 x3 ∨ x1 x2 x3 ⊕ x1x3=
( x1 x2 x3 ∨ x1 x2x3 ) x1x3 ∨ x1x3 ⋅ x1 x2 x3 ∨ x1 x2x=3
x1 x2 x3 x3 ∨ x1 x2 x3 x1 ∨ ( x1 ∨ x3 )( x1 ∨ x2 ∨ x3 )( x1 ∨ x2=
∨ x3 )
=
=
= x1x1 ∨ x1x2 x3 ∨ ∨ x1x2 ∨ x2 x3 ∨ x1 x3 ∨ x2=
x3
(
)
= x1x2 ∨ x2 x3 ∨ x1 x3= x2 x1 ∨ x3 ∨ x1 x3 .
Итак, число вхождений символов
переменных равно пяти. Построим
теперь схему (рис. 1.13) для функции
f ( x ) = x1 x2 ⊕ x2 x3 ⊕ x1x3 ⊕ 1.
x2
x1
x3
x1
x3
Рис. 1.13
§ 1.19. Решение логических задач
Правильно составленные логические задачи легко решаются методами алгебры логики. Для этого необходимо конкретные условия
задачи записать в виде формулы алгебры логики, а затем упростить
эту формулу путем равносильных преобразований. Простейший
вид формулы, как правило, дает ответы на все вопросы. К одной
формуле алгебры логики условия задачи сводятся разными способами, чаще всего истинные высказывания соединяются знаком
конъюнкции для получения истинной формулы, упрощение которой и приводит к цели.
69
В логике высказываний все доказательства строятся на отношении порядка, т. е. на отношении, которое существует между причиной и следствием.
Рассмотрим несколько примеров.
Пример 1. Четыре студентки, имена которых начинаются буквами A, E, C, P, посещают институт по очереди и ведут общий конспект лекций. Необходимо составить график посещения на ближайшую неделю, учитывая, что:
1) понедельник – день самостоятельной работы на курсе, и в институт не ходит никто, а в субботу необходимо быть всем;
2) C и P не смогут пойти на занятия во вторник в связи с большой
загруженностью в понедельник;
3) если C выйдет в среду или P – в четверг, то E согласится побывать на занятиях в пятницу;
4) если A не пойдет в институт в четверг, то E позволит себе сходить туда в среду;
5) если A или P будут в институте в среду, то C сможет пойти
в пятницу;
6) если P в пятницу вместо института пойдет на свадьбу подруги,
то A придется сходить на занятия во вторник, а C в среду.
Решение. Обозначим все возможные комбинации распределения
студенток по оставшимся дням недели именем с индексом дня недели, например, А В, АС, АЧ, А П, и запишем все условия задачи в виде
истинных формул алгебры логики.
1. AÏÍ ≡ 1, EÏÍ ≡ 1, CÏÍ ≡ 1, PÏÍ ≡ 1, т. е. А ПН≡0, ЕПН≡0,
СПН≡0, РПН≡0.
2. СВ≡0, РВ≡0, т. е. CB ≡ 1, PB ≡ 1.
3. CC∨РЧ→ЕП≡1.
4. A× → EC ≡ 1.
5. AC∨РС→СП≡1.
6. PÏ → AB ∧ C× ≡ 1.
Совокупность этих условий очень быстро дает требуемых результат. Высказывания 3-6 – истинны, следовательно, истинной будет и
конъюнкция этих высказываний:
( CC ∧ P× ∨ EÏ ) ∧ ( A× ∨ EC ) ∧ ( AC ∧ PC ∨ CÏ ) ∧ ( PÏ ∨ AB ∧ C× ) ≡ 1.
Раскроем скобки и упростим полученную формулу:
( CC P× ∨ EÏ ) ( A× ∨ EC ) ( AC PC ∨ CÏ ) ( PÏ ∨ AB C× ) ≡ ( CC P× A× ∨
70
∨ EÏ A× ∨ ÑÑ P× EC ∨ EÏ EC
)( AC PC PÏ ∨ ÑÏ PÏ ∨ AC PC AB C× ∨ ÑÏ AB C× ).
Очевидно, что логическое слагаемое, содержащее одно имя с разными индексами (днями недели) равно нулю, так как студентки по условию задачи ходят в институт один раз в оставшиеся пять дней недели.
( CC P× A× ∨ EÏ A× ∨ ÑÑ P× EC )( AC PC PÏ ∨ AC PC AB C× ) ≡
≡ CC P× A× AC PC PÏ ∨ EÏ A× AC PC PÏ ∨ ÑÑ P× EC AC PC PÏ ∨
∨ CC P× A× AC PC AB C× ∨ EÏ A× AC PC AB C× ∨ ÑÑ P× EC AC PC AB C× ≡
≡ CC P× A× AC PC PÏ ∨ ÑÑ P× EC AC PC PÏ ∨ ÑÑ P× EC AC PC AB C× ≡
≡ CC P× AC PC ( A× PÏ ∨ EC PÏ ∨ EC AB C× ) ≡ 1.
Итак, имеем следующую систему тождеств:

ÑÑ P× AC PC ≡ 1,

A
P
 × Ï ∨ EC PÏ ∨ EC AB C× ≡ 1,

CB ≡ 0, PB ≡ 0.

Для быстрого решения этой системы составим вспомогательную
табл. 1.19.1.
Таблица 1.19.1
Вторник
Среда
Четверг
Пятница
AB
AC
AЧ
АП
ЕВ
ЕС
ЕЧ
ЕП
СВ
СС
СЧ
СП
РВ
РС
РЧ
РП
СВ ≡ 0, РВ ≡ 0 из третьего условия. Из первого условия
ÑÑ P× AC PC ≡ 1 следует, что ÑÑ ≡ 1, P× ≡ 1, AÑ ≡ 1, PÑ ≡ 1, т. е. CC ≡ 0,
РЧ ≡ 0, АС ≡ 0, РС ≡ 0. Тогда из второго столбца таблицы, очевидно, что
ЕС ≡ 1, но тогда ЕВ ≡ ЕЧ ≡ ЕП ≡ 0.
Далее первый столбец дает А В ≡ 1, т. е. АЧ ≡ А П ≡ 0, аналогично из
третьего столбца получаем СЧ ≡ 1, следовательно, СП ≡ 0 и, наконец,
РП ≡ 1. Таким образом, А В ≡ ЕС ≡ СЧ ≡ РП ≡ 1, расписание составлено.
Второе условие системы тождеств также выполняется, у дизъюнкции два истинных логических слагаемых: ЕСРП ≡ ЕСА ВСЧ ≡ 1.
Пример 2. Однажды следователю пришлось одновременно допрашивать трех свидетелей: Клода, Жака и Дика. Их показания
71
противоречили друг другу, и каждый из них обвинял кого-нибудь
во лжи.
1. Клод утверждал, что Жак лжет.
2. Жак обвинял во лжи Дика.
3. Дик уговаривал следователя не верить ни Клоду, ни Жаку.
Но следователь быстро вывел их на чистую воду, не задав им ни
одного вопроса. Кто из свидетелей говорил правду?
Решение. Обозначим буквами К – Клода, Ж – Жака и Д – Дика и
запишем условия задачи.
(
) (
)
2. ( Æ ∧ Ä ) ∨ ( Ä ∧ Æ ) ≡ 1.
3. ( Ä ∧ ( Ê ∧ Æ ) ) ∨ ( Ä ∧ ( Ê ∨ Æ ) ) ≡ 1.
1. Ê ∧ Æ ∨ Ê ∧ Æ ≡ 1.
Как и в предыдущей задаче, результат находится путем равносильных преобразований. Сначала упростим условия задачи:
( Ê ∧ Æ ) ∨ ( Ê ∧ Æ ) ≡ ( Ê ∨ Ê )( Æ ∨ Ê ) ( Ê ∨ Æ ) ( Æ ∨ Æ ) ≡ ( Ê ∨ Æ ) ( Æ ∨ Ê ) ≡
≡ ÊÊ ∨ ÊÆ ∨ ÊÆ ∨ ÆÆ ≡ ÊÆ ∨ ÊÆ ≡ 1;
( Æ ∧ Ä ) ∨ ( Ä ∨ Æ ) ≡ ( Æ ∨ Ä ) ( Ä ∨ Ä )( Æ ∨ Æ )( Ä ∨ Æ ) ≡ ( Æ ∨ Ä ) ( Ä ∨ Æ ) ≡
≡ Æ Ä ∨ Ä Ä ∨ ÆÆ ∨ ÄÆ ≡ Æ Ä ∨ ÄÆ ≡ 1;
( Ä ∧ ( Ê ∧ Æ )) ∨ ( Ä ∧ ( Ê ∨ Æ )) ≡ ÄÊÆ ∨ ÄÊ ∨ ÄÆ.
Конъюнкция этих трех формул тоже будет истинна
( ÊÆ ∨ ÊÆ )( Æ Ä ∨ ÄÆ )( ÄÊ Æ ∨ ÄÊ ∨ ÄÆ ) ≡
(
)(
)
≡ ÊÆÆ Ä ∨ ÊÆÆ Ä ∨ ÊÆÄÆ ∨ ÊÆÄÆ ÄÊ Æ ∨ ÄÊ ∨ ÄÆ ≡
≡ ÊÆ ÄÄÊ Æ ∨ ÊÆÄÄÊ Æ ∨ ÊÆ Ä ÄÊ ∨ ÊÆÄ ÄÊ ∨ ÊÆ Ä ÄÆ ∨
∨ ÊÆÄ ÄÆ ≡ ÊÆ Ä ≡ 1.
Итак, Жак говорит правду, Клод и Дик лгут.
§ 1.20. Практическое занятие № 4.
Реализация булевых функций схемами и формулами.
Решение логических задач
1.20.1. Пусть система функциональных элементов Ф состоит из
элемента задержки ϕ1, реализующего x, и элемента Шеффера ϕ2, ре72
ализующего x y = xy. Построить схемы, реализующие: а) x; б) xy;
в) x∨y; г) 1; д) 0; е) x⊕y. Указать величину задержки.
1.20.2. Найти функции проводимости для схем, изображенных
на рис. 1.14.
a)
x
б)
y
x
x
t
y
z
z
y
x
x
t
t
x
в)
y
x
t
y
t
x
u
Рис. 1.14
1.20.3. Реализовать релейно-контактными схемами функции:
а) xy ∨ z;
б) xy ∨ zt;
в) xy∨yz∨xz.
1.20.4. Реализовать контактными схемами следующие функции:
а) ( y ∨ z ) → xy;
б) xy ↔ yx;
в) x⊕y⊕z.
1.20.5. Построить π-схемы для формул:
(
)
а) x ∨ yz ( xy ∨ zt );
((
) )
б) x y ∨ z ∨ t x.
1.20.6. Найти функции, реализуемые контактными схемами,
изображенными на рис. 1.15.
a)
x1
x2
x2
x3
x n–1
xn
…
б)
x1
x2
x1
x2
x3 x 4 …
x2
xn
x n–2
x1
x n–1
xn − 1
xn
x n– 2
x n– 1
x1
Рис. 1.15
73
1.20.7. Составить π-схемы для формул:
а) x yz ∨ yz ∨ x yz ∨ yz ;
б) ((x→y)∧(y→z))→(x→z);
в) штрих Лукасевича x↓y (читается «ни x, ни y»), которое истинно в том и только том случае, когда оба высказывания ложны.
1.20.8. Упростить следующие релейно-контактные схемы
(рис. 1.16).
(
a)
) (
)
x
z
y
y
x
z
в)
x
x
x
y1
y2
x
z
x
y
y
б)
y
z
x
x
x
x
yn–1
yn
z
y
t
z
y
z
z
y
…
Рис. 1.16
1.20.9. Построить контактную схему для функции f:
( )
б) f ( x 3 ) = x1x2 ∨ x2 x3 ∨ x3 x1.
а) f x 3 = x1 ⊕ x2 ⊕ x3 ⊕ 1;
1.20.10. Брауну, Джонсу и Смиту предъявлено обвинение в соучастии в ограблении банка. Похитители скрылись на поджидавшем
их автомобиле. На следствии Браун показал, что преступники были
на синем «Бьюике», Джонс сказал, что это был черный «Крайслер»,
а Смит утверждал, что был «Форд» и ни в коем случае не синий.
Стало известно, что, желая запутать следствие, каждый из них указал правильно либо только марку машины, либо только ее цвет. Какого цвета был автомобиль и какой марки?
1.20.11. На вопрос, кто из трех студентов изучал логику, был получен ответ: если изучал первый, то изучал и третий, но неверно,
что если изучал второй, то изучал и третий. Кто изучал логику?
1.20.12. Определить, кто из четырех студентов сдал экзамен,
если известно, что:
1) если первый сдал, то и второй сдал;
2) если второй сдал, то третий сдал или первый не сдал;
3) если четвертый не сдал, то первый сдал, а третий не сдал;
4) если четвертый сдал, то и первый сдал.
74
1.20.13. Для полярной экспедиции из восьми претендентов A, B,
C, D, E, F, G и H надо отобрать шесть специалистов: биолога, гидролога, синоптика, радиста, механика и врача. Обязанности биолога
могут выполнять E и G, гидролога B и F, синоптика F и G, радиста
C и D, механика C и H, врача A и D. Хотя некоторые претенденты
владеют двумя специальностями, в экспедиции каждый сможет
выполнять только одну обязанность. Кого и кем следует взять в экспедицию, если F не может ехать без B, D – без H и без C, C не может
ехать одновременно с G, а A не может ехать вместе с B?
1.20.14. Виктор, Роман, Юрий и Сергей заняли на математической олимпиаде первые четыре места. Когда их спросили о распределении мест, они дали три таких ответа:
1) Сергей – первый, Роман – второй;
2) Сергей – второй, Виктор – третий;
3) Юрий – второй, Виктор – четвертый.
Как распределились места, если в каждом из ответов только одно
утверждение истинно?
1.20.15. Известно следующее: если Петя не видел Колю на улице,
то либо Коля ходил в кино, либо Петя сказал правду; если Коля не
ходил в кино, то Петя не видел Колю на улице, и Коля сказал правду; если Коля сказал правду, то либо он ходил в кино, либо Петя
солгал. Выясните ходил ли Коля в кино?
1.20.16. Четыре друга Антонов (А), Вехов (В), Сомов (С) и Деев (Д)
решили провести каникулы в четырех разных городах – Москве,
Одессе, Киеве и Ташкенте. Определить в какой город должен поехать каждый из них, если имеются следующие ограничения:
1. Если А не едет в Москву, то С не едет в Одессу.
2. Если В не едет ни в Москву, ни в Ташкент, то А едет в Москву.
3. Если С не едет в Ташкент, то В едет в Киев.
4. Если Д не едет в Москву, то В не едет в Москву.
5. Если Д не едет в Одессу, то В не едет в Москву.
1.20.17. В школе, перешедшей на самообслуживание четырем
старшеклассникам: Андрееву, Костину, Савельеву и Давыдову поручили убрать 7-й, 8-й, 9-й и 10-й классы. При проверке оказалось,
что 10-й класс убран плохо. Не ушедшие домой ученики сообщили
о следующем:
1. Андреев: «Я убирал 9-й класс, а Савельев – 7-й».
2. Костин: «Я убирал 9-й класс, а Андреев 8-й».
3. Савельев: «Я убирал 8-й класс, а Костин 10-й».
75
Давыдов уже ушел домой. В дальнейшем выяснилось, что каждый ученик в одном из двух высказываний говорил правду, а во втором ложь. Какой класс убирал каждый ученик?
76
2. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ1
§ 2.1. Язык, система аксиом и правила вывода
исчисления высказываний [8, 9, 10]
Исчисление высказываний как формальную теорию можно
определить с помощью аксиоматического метода, который может
быть охарактеризован следующими тремя частями:
1) явной формулировкой исходных аксиом той или иной теории;
2) явной формулировкой правил вывода, используемых для последовательного построения этой теории;
3) использованием искусственно построенных формальных языков для изложения всех теорем рассматриваемой теории.
В понятие исчисления входят такие компоненты как формальный язык исчисления, аксиомы исчисления и правила вывода. Они
позволяют дать строгое математическое определение понятия доказательства и получить точные утверждения о возможности или
невозможности доказательства тех или иных предложений теории.
В любом исчислении различают синтаксические и семантические вопросы исчисления. В синтаксической части изучают понятие
доказательства (теория доказательств), в семантической – структуру формальных языков (теория моделей).
Исчисления позволяют формализовать многие разделы математики и других наук. Исчисление высказываний – это аксиоматическая логическая система, описывающая тождественно истинные
схемы, а ее интерпретация – алгебра высказываний.
Описание всякого исчисления включает в себя описание его алфавита, формул, являющихся конечными конфигурациями символов, аксиом и правил вывода.
Множество абстрактных букв называется алфавитом. Конечный
ряд написанных друг за другом букв алфавита называется словом
в этом алфавите. Слово, не содержащее ни одной буквы, называется
пустым и обозначается символом Λ. Два конкретных слова a1a2…an
и b1b2…bn алфавита A равны, если a1=b1, a2=b2,…, an=bn. Если a1a2…
an – слово алфавита A, состоящее из n букв a1, a2,…, an, то число n
называется длиной этого слова.
1 Излагаемое исчисление называется в литературе исчислением П.С. Новикова.
Петр Сергеевич Новиков (1901–1975) – советский математик.
77
Два слова α и β определяют слово αβ, которое получается приписыванием к слову α слова β. Слово αβ называется соединением слов
α и β. Очевидно, что для любых слов α и β имеем Λα=αΛ=α, α∧β=αβ.
Слово α алфавита A называется подсловом слова β этого же алфавита, если β=γαδ для некоторых слов γ и δ. Может оказаться, что
β=γαδ=γ1αδ1 и γ≠γ1. В этом случае говорят о различных вхождениях
подслова α в β.
Алфавит исчисления высказываний состоит из объединения четырех множеств σ=σ1∪σ2∪σ3∪σ4, где σ1={a, b,…, z, A1, B2,…, Zn},σ2={∧,
∨, →,  }, σ3={(, ), ,}, σ4={├}. Других символов в алфавите исчисление
высказываний не содержит. Буквы множества σ1 называются пропозициональными переменными. Символ ├ называется символом
следования.
Формулой исчисления высказываний называется слово алфавита исчисления высказываний, удовлетворяющее следующим условиям:
1. Пропозициональная переменная является формулой, которая
называется элементарной или атомарной.
2. Если A и B формулы, то (A∧B), (A∨B), (A→B) и A – тоже формулы.
Никакое другое слово формулой исчисления высказываний не
является. Из этого определения следует, что (A∨B)∧C – не формула,
так как не имеет внешних скобок. Однако в целях сокращения записи очень часто внешние скобки опускают.
Подформулой A формулы B исчисления высказываний называется подслово B, являющееся формулой.
Теорема 2.1. Всякая неатомарная формула A исчисления высказываний представима в одном и только в одном из следующих
видов: (B∧C), (B∨C), (B→C) или B для однозначно определенных
формул B и C.
Секвенциями называются выражения следующего вида:
1) A1, A2,…, An├A, где n>0, A1, A2,…, An, A – любые формулы. Читается «из A1, A2,…, An следует A»;
2) ├B. Читается «B доказуема»;
3) A1, A2,…, An ├, n>0. Читается «система A1, A2,…, An противоречива».
Если формулы исчисления высказываний можно рассматривать
как формы сложных высказываний, то секвенции являются формами утверждений и теорем, в которых можно отчетливо выделить
условия (посылки) и заключения.
78
Σ1, Σ2 ,..., Σk
, где
Σ
Σ1, Σ2,…, Σk, Σ – произвольные секвенции. Выражение Σ называется непосредственным следствием секвенций Σ1, Σ2,…, Σk по данному
правилу вывода.
Исчисление высказываний определяется своей схемой аксиом и
правилами вывода. Схема аксиом состоит из одиннадцати формул,
поделенных на четыре группы.
I. 1. x→(y→x),
2. (x→(y→z))→((x→y)→(x→z)),
II. 3. x∧y→x,
4. x∧y→y,
5. (z→x)→((z→y)→(z→x∧y)),
III. 6. x→x∨y, (2.1.1)
7. y→x∨y,
8. (x→z)→((y→z)→(x∨y→z)),
Правилом вывода называется выражение вида
(
)
IV. 9. ( x → y ) → y → x ,
10. x → x,
11. x → x.
Все правила схемы проверяются непосредственно. Правил вывода в исчислении высказываний довольно много. Среди них выделяются основные и производные правила. Перечислим некоторые из
них, которые впоследствии будем использовать без доказательства.
Пусть Γ1, Γ2, Γ3, Γ – конечные последовательности формул, возможно пустые, A, B, C- любые формулы. Тогда справедливы следующие
правила вывода исчисления высказываний:
1)
Γ1 - A; Γ2 - B
Γ1, Γ2 - ( A ∧ B )
– правило введения конъюнкции; здесь и да-
лее Γ1, Γ2≡Γ1∪Γ2 – объединение последовательностей формул;
2)
3)
4)
Γ -( A ∧ B)
Γ -A
Γ -A
Γ -( A ∨ B)
,
,
Γ -( A ∧ B)
Γ -B
Γ -B
Γ -( A ∨ B)
– удаление конъюнкции;
– введение дизъюнкции;
Γ1 - ( A ∨ B ); Γ2 , A -C; Γ3 , B -C
Γ1, Γ2 , Γ3 -C
– удаление дизъюнкции;
79
Γ, A - B
5)
6)
Γ -( A → B)
– введение импликации (теорема дедукции);
Γ1 - ( A → B ); Γ2 - A
Γ1, Γ2 - B
– удаление импликации (правило заклю-
чения);
7)
8)
Γ, A Γ -A
– введение отрицания;
Γ, A -
9)
Γ -A
– удаление отрицания;
Γ1 - A; Γ2 - A
10)
Γ1, Γ2 ΓΓ -A
(2.1.2)
– сведение к противоречию;
– правило утончения;
Γ -A
– правило расширения;
Γ, B - A
Γ , A, B, Γ2 -C
12) 1
– правило перестановки;
Γ1, B, A, Γ2 -C
11)
13)
Γ1, A, A, Γ2 -C
– правило сокращения.
Γ1, A, Γ2 -C
Правила вывода исчисления высказываний формализуют определенные стандартные логические способы рассуждений. Правило
вывода называется допустимым в исчислении высказываний, если
его добавление в исчисление не расширяет множество доказуемых
секвенций.
Основных правил вывода в исчислении высказываний два: правило подстановки и правило простого заключения. Если формула
A доказуема в исчислении высказываний, x – переменная, B – произвольная формула исчисления высказываний, то формула, получающаяся в результате замены в формуле A переменной x всюду, где
она входит в формулу A, формулой B, является также доказуемой
формулой. Это правило подстановки. Символически оно записываB
ется так
∫ ( A ), то есть если A(x) выводимая формула, то замена x на
x
80
-A
B тоже дает выводимую формулу, или
B
, если A(x) доказуема,
-∫ ( A)
x
то A(B) тоже доказуема. Частные случаи формулы
B
∫ ( A)
x
могут быть, например, такие
B
B
B
x
x
x
∫ ( x ) ≡ B, ∫ ( y ) ≡ y , ∫ ( A ) ≡ A,
B
B
B
B
B
x
x
x
x
x
∫ ( A1 ∗ A2 ) ≡ ∫ ( A1 ) ∗ ∫ ( A2 ), ∫ ( A ) ≡ ∫ ( A ),
где под знаком ∗ понимается любой из символов ∧, ∨, →. Эти подстановки очевидны.
Второе основное правило вывода в исчислении высказываний
называется правилом простого заключения (ППЗ). Оно имеет вид
- A; - A → B
и читается «если формулы A и A→B доказуемы, то
-B
формула B тоже доказуема». Правило широко распространено и известно очень давно, по латыни оно называется modus ponens.
Аксиомой называется всякое выражение, полученное из схемы
аксиом I-IV подстановкой вместо переменных x, y, z конкретной
формулы.
Линейным доказательством (выводом) в исчислении высказываний называется конечная последовательность секвенций Σ1, Σ2,…,
Σk, такая, что для каждого i, 1≤i≤k, Σi есть либо аксиома, либо непосредственное следствие предыдущих секвенций по применяемым
в исчислении правилам вывода. Секвенция Σ называется доказуемой в исчислении высказываний или теоремой исчисления, если
существует доказательство Σ1, Σ2,…, Σk, у которого Σk=Σ. Формула A
называется доказуемой, если доказуема секвенция ├A.
Очевидно, что всякая секвенция является деревом; если D1,
D , D ,..., Dk
D2,…, Dk – деревья и Σ – секвенция, то 1 2
– также дерево.
Σ
Одна и та же секвенция может входить в дерево несколько раз. Де81
рево может иметь много начальных секвенций, но заключительная
секвенция только одна.
Дерево D называется доказательством в исчислении высказываний в виде дерева, если все его начальные секвенции – аксиомы, а
переходы – применения допустимых правил вывода. Если Σ является заключительной секвенцией доказательства D в виде дерева, то
D называется доказательством Σ в виде дерева или деревом вывода Σ
в исчислении высказываний.
Схема секвенций называется доказуемой в исчислении высказываний, если ее добавление к исчислению в качестве схемы аксиом
не расширяет множество доказуемых секвенций. Это эквивалентно
тому, что все частные случаи этой схемы будут доказуемы в исчислении высказываний.
§ 2.2. Некоторые дополнительные производные правила вывода
Из списка перечисленных тринадцати правил вывода (2.1.2) некоторые практически всегда применяются при доказательстве теорем. Рассмотрим доказательство еще нескольких правил вывода.
Они получаются с помощью правил подстановки и простого заключения и поэтому являются производными от них.
1. Правило одновременной подстановки.
Пусть A – доказуемая формула; x1, x2,…, xn – переменные, а B1,
B2,…, Bn- любые формулы исчисления высказываний. Тогда результат одновременной подстановки в A вместо x1, x2,…, xn соответственно формул B1, B2,…, Bn является доказуемой формулой, то есть
-A
-
B1,B2 ,...,Bn
∫
.
( A)
x1,x2 ,...,xn
Способ доказательства очевиден. Формула выводится применением правила простой подстановки последовательно ко всем переменным по порядку.
2. Правило сложного заключения.
Если формулы A1, A2,…, An и A1→(A2→(A3→(…(An→B)…))) доказуемы, то и формула B доказуема, то есть
(
(
- A1; - A2 ;..., - An ; - A1 → A2 → A3 → (...( An → B )...)
-B
82
))
.
Действительно, если по условию доказуемы формулы A1 и
A1→(A2→(A3→(…(An→B)…))), то по правилу простого заключения
будет выводима формула A2→(A3→(…(An→B)…)). Далее, аналогично рассуждая, заключаем, что если выводимы A2 и A2→(A3→(…
(An→B)…)), то выводима и формула A3→(…(An→B)…). Продолжая такие рассуждения n раз, получим, что формула B доказуема.
3. Правило силлогизма.
Если доказуемы формулы A→B и B→C, то доказуема и формула
A→C, то есть
- A → B; - B → C
.
-A → C
Для доказательства возьмем две первые аксиомы и сделаем в них
соответствующие замены. К первой аксиоме применим следующую
подстановку:
-
B →C, A
∫ ( x → ( y → x ) ) ≡ - ( B → C ) → ( A → ( B → C ) ).
x,y
Вторую аксиому преобразуем так
-
A,B,C
∫ ( x → ( y → z)) → (( x → y ) → ( x → z)) ≡
x,y,z
≡ - ( A → ( B → C ) ) → ( ( A → B ) → ( A → C ) ).
По правилу простого заключения:
- B → C; - ( B → C ) → ( A → ( B → C ) )
- A → (B → C)
,
аналогично
- A → ( B → C ); - ( A → ( B → C ) ) → ( ( A → B ) → ( A → C ) )
-( A → B) → ( A → C)
.
Наконец, применяя еще раз правило простого заключения, находим
- A → B; - ( A → B ) → ( A → C )
-A → C
.
83
Итак, формула A→C выводима при данных предположениях.
4. Правило контрпозиции.
Если доказуема формула A→B, то доказуема и формула B → A,
то есть
-A → B
-B → A
.
Правило доказывается очень просто с использованием только одной формулы из списка аксиом исчисления высказываний, именно
девятой аксиомы ( x → y ) → y → x . Сделаем в ней следующую замену переменных:
(
-
)
A, B
∫ ( ( x → y ) → ( y → x ) ) ≡ - ( A → B ) → ( B → A ).
x,y
По правилу простого заключения
(
- A → B; - ( A → B ) → B → A
-B → A
),
то есть исходная формула доказана.
5. Правило снятия двойного отрицания.
Если доказуема формула A → B, то доказуема формула A→B, наоборот, если доказуема A → B, то доказуема формула A→B, то есть
-A → B
-A → B
и
-A → B
-A → B
.
Воспользуемся десятой и одиннадцатой аксиомами и проведем
в них аналогичные подстановки
A
(
)
B
(
)
- ∫ x → x ≡ - A → A , - ∫ x → x ≡ - B → B.
x
x
Тогда по условию и по правилу силлогизма
- A → B; - B → B
-A → B
84
и
- A → A; - A → B
-A → B
.
Доказательства для пяти приведенных правил могут быть записаны в виде деревьев:
1)
2)
Γ - A ( x1, x2 ,..., xn )
Γ - A ( B1, x2 ,..., xn )
..............................
Γ - A ( B1, B2 ,..., Bn )
,
(
Γ - A1, Γ - A1 → A2 → ( A3 → ...( An → B )...)
Γ - A2 → ( A3 → ...( An → B )...), Γ - A2
................................
Γ - An → B, Γ - An
Γ - B → C, Γ - ( B → C ) → ( A → ( B → C ) )
3)
)
Γ - A → (B → C)
,
, Γ -Φ1
,
Γ - ( A → B ) → ( A → C ), Γ - A → B
Γ -A → C
где Φ1 = ( A → ( B → C ) ) → ( ( A → B ) → ( A → C ) ).
4)
5)
(
Γ - A → B, Γ - ( A → B ) → B → A
Γ -B → A
Γ - A → B, Γ - B → B
Γ -A → B
или
)
,
Γ - A → B, Γ - A → A
Γ -A → B
.
Приемы доказательств, подобные уже приведенным, применяются для получения правил вывода из совокупности формул. Пусть
Γ – произвольная конечная совокупность формул, то есть Γ={A1,
A2,…, An}. Выводом из совокупности формул называется всякая конечная последовательность формул, любой член которой удовлетворяет следующим условиям.
1) всякая формула Ai∈Γ выводима из Γ, то есть Γ├Ai (A1, A2,…,
An├Ai);
2) всякая доказуемая формула выводима из Γ, то есть
-B
A1, A2 ,..., An - B
или
-B
Γ -B
;
85
3) если C и C→B выводимы из совокупности формул Γ, то B такΓ -C; Γ -C → B
же выводима из Γ, то есть
– формула аналогичная
Γ -B
правилу простого заключения. Очевидно, что класс формул, выводимых из Γ, совпадает с классом доказуемых формул (см. § 2.1), если
Γ содержит только доказуемые формулы. Если же Γ содержит хотя
бы одну недоказуемую формулу, то класс формул, выводимых из Γ,
шире класса доказуемых формул.
Из определения выводимой формулы и вывода из совокупности
формул следуют очевидные свойства вывода:
1) всякий начальный отрезок вывода из Γ есть вывод из Γ;
2) между двумя соседними членами вывода из Γ можно вставить
любой вывод из Γ;
3) всякий член вывода из Γ является формулой из Γ;
4) если Γ1⊂Γ, то всякий вывод из Γ1 является выводом из Γ;
5) для того чтобы формула A была выводима из Γ, необходимо и
достаточно, чтобы существовал вывод A из Γ.
Рассмотрим еще несколько правил, при доказуемости которых
используются свойства вывода.
6. Правило расширения.
Γ -A
, то есть если A выводима из Γ, то она выводима и из
Γ,W - A
Γ∪W, где Γ и W – некоторые конечные совокупности формул.
Пусть Γ1=Γ∪W, тогда Γ⊂Γ1 и вывод из Γ есть вывод из Γ1, то есть,
если Γ├A, то и Γ1├A, что доказывает данное правило вывода.
Γ, C - A; Γ -C
7. Правило удаления выводимой гипотезы
. Это
Γ -A
правило доказывается включением в вывод из Γ вывода из C. Пусть
совокупность формул Γ, C={B1, B2,…, Bn-1, A}, а Γ={C1, C2,…, Cm, C}.
Если в первом выводе нет C, то он является только выводом из Γ и
Γ├A. Если же в B1, B2,…, Bn-1, A присутствует C, то вместо C в B1,
B2,…, Bn-1, A вставим C1, C2,…, Cm, C. Это можно сделать в соответствии с определением вывода, тогда получим вывод только из Γ и Γ├A.
8. Правило удаления импликации.
Γ -C → A
Это правило обратное теореме дедукции
. Здесь дано
Γ, C - A
Γ├C→A, то есть существует вывод из Γ такого типа Γ: A1, A2,…,
86
An-1, C→A. Перейдем теперь к объединению формул Γ, C=Γ∪C. Тогда
к предыдущему выводу можно присоединить формулу C, то есть Γ,
C: A1, A2,…, An-1, C→A, C. Но тогда по правилу простого заключения
-C; -C → A
-A
, то есть Γ, C: A1, A2,…, An-1, C→A, C, A. Это доказывает
исходное правило удаления импликации.
Рассмотрим теперь несколько примеров на выводимость формул.
Пример 1. Показать выводимость формулы A ∨ B → A ∧ B.
Воспользуемся
сначала
восьмой
аксиомой
(x→z)→((y→z)→(x∨y→z)), сделав в ней следующую замену:
A,B, A ∧ B
∫
x,y,z
(( x → z) → ( ( y → z) → ( x ∨ y → z ))).
Получим доказуемую формулу
(
) ((
))
) (
- A→ A∧B → B→ A∧B → A∨B→ A∧B .
Аналогичные операции проведем с третьей и четвертой аксиомами
-
A, B
∫ ( x ∧ y → x ) ≡ - A ∧ B → A,
x,y
-
A, B
∫ ( x ∧ y → y) ≡ - A ∧ B → B
x,y
и применим к двум последним формулам правило контрпозиции:
-A ∧ B → A
-A → A ∧ B
и
-A ∧ B → B
-B → A ∧ B
.
Теперь по правилу сложного заключения имеем
-Φ1; -Φ2 ; -Φ3
-A ∨ B → A ∧ B
,
где
Φ1 = A → A ∧ B, Φ2 = B → A ∧ B,
Φ3 =
( A → A ∧ B ) → ( ( B → A ∧ B ) ) → ( A ∨ B → A ∧ B ).
Итак, формула A ∨ B → A ∧ B доказуема. Она является одной из
форм закона двойственности в алгебре логики.
87
Пример 2. Доказать, что Γ={A}├B→A – секвенция.
Имеем Γ: Γ├A. Возьмем первую аксиому x→(y→x) и сделаем в ней
подстановку
A, B
∫ ( x → ( y → x ) ),
x,y
получим доказуемую формулу A→(B→A). Теперь по правилу простого заключения сразу получаем конечный результат
- A; - A → ( B → A )
-B → A
Γ
Пример 3. Доказать, что =
.
{ A → B, B} - A – секвенция.
Γ - A → B, Γ - B.
Дано
Возьмем
девятую
аксиому
( x → y ) → y → x и проведем следующую замену переменных:
(
)
-
A, B
∫ ( ( x → y ) → ( y → x ) ) ≡ - ( A → B ) → ( B → A ).
x,y
Для достижения конечного результата необходимо дважды применить правило простого заключения
(
- A → B; - ( A → B ) → B → A
)
-B → A
и
- B; - B → A
-A
.
Пример 4. Доказать, что Γ={A→B}├(C→A)→(C→B).
Дано Γ├A→B. Используем первую аксиому x→(y→x). Подстановка
-
A → B,C
∫ ( x → ( y → x ) ) ≡ - ( A → B ) → ( C → ( A → B ) ).
x,y
По правилу простого заключения
- A → B; - ( A → B ) → ( C → ( A → B ) )
-C → ( A → B )
.
Воспользуемся теперь второй аксиомой, проведя в ней следующую замену переменных:
88
-
C, A,B
∫ (( x → ( y → z)) → (( x → y ) → ( x → z))) ≡
x,y,z
≡ - ( C → ( A → B ) ) → ( ( C → A ) → ( C → B ) ).
Еще один раз modus ponens
- C → ( A → B ); - ( C → ( A → B ) ) → ( ( C → A ) → ( C → B ) )
-(C → A ) → (C → B)
.
Пример 5. Доказать следующее правило вывода:
-A
-A ∧ B
.
Сначала
-
A, B
∫ ( x ∧ y → x) ≡ - A ∧ B → A.
x,y
Теперь по правилу контрпозиции
-A ∧ B → A
-A → A ∧ B
,
наконец, по правилу простого заключения
- A; - A → A ∧ B
-A ∧ B
.
§ 2.3. Теорема дедукции и другие законы
исчисления высказываний
1. Правило введения импликации носит название теоремы деΓ, C - A
дукции и имеет следующий вид:
.
Γ -C → A
Докажем эту теорему подробно методом математической индукции по длине вывода. Пусть Γ, C={A1, A2,…, An} – вывод из исходной
совокупности формул. Сначала покажем, что для любого подобного
89
вывода справедливо Γ├C→An. В дальнейшем в роли An, которая может быть получена при выводе из Γ, C любым дозволенным методом,
может служить A. При n=1 вывод формулы A из Γ, C имеет вид Γ,
C├A1, то есть формула A совпадает с A1. Согласно определению вывода возможны три случая:
1) A1∈Γ;
2) A1 – доказуемая формула из множества Γ;
3) A1≡C.
В первых двух случаях имеем Γ├A1. Тогда вывод из Γ можно написать в виде
A1 → ( C → A1 ),
I1 - x →( y →x ),
Γ : A1,
-
C → A1
.
ïî ïðîñòîìó çàêëþ÷åíèþ
A1,C
∫ ( I1 ) ≡ - A1 →( C → A1 )
x,y
- A1; - A1 →( C → A1 )
- C → A1
Таким образом, Γ├C→A1. В третьем случае имеем A1≡C, и надо
доказать, что Γ├C→C, но формула C→C доказуема в любой совокупности формул. Действительно,
├C, ├x→(y→x), ├C→(C→C),
-C ; -C → ( C → C )
-C → C
.
Пусть теперь теорема справедлива при i ≤ n–1; докажем, что она
справедлива и при i=n. Здесь вывод из исходного множества формул
имеет вид Γ, C={A1, A2,…, An}. Однако теперь для формулы An появились дополнительные возможности, именно она может определяться как:
1) An∈Γ;
2) An – доказуемая формула;
3) An≡C;
4) An получается по правилу простого заключения из любых
двух предшествующих ей формул, то есть
- Ai ; - Ai → An
- An
,
причем вторая формула в правиле простого заключения (обозначим
ее Aj) должна иметь вид Aj=Ai→An. Для первых трех случаев доказательство полностью аналогично уже рассмотренному, только индекс «единица» надо заменить на n. В четвертом случае An получено
90
по правилу простого заключения из Ai и Aj=Ai→An. При этом вывод
из Γ может быть таким
Γ ={ A1, A2 ,..., An } : A1, A2 ,..., An ,
Ai → ( C → Ai )
I1:x →( y →x ),
,
C → Ai
,
ïî ïðîñòîìó çàêëþ÷åíèþ
Ai ,C
- ∫ ( I1 ) ≡ - Ai →( C → Ai )
x,y
C → Aj , C →
àíàëîãè÷íî
ïðåäûäóùåìó
- Ai ; - Ai →( C → Ai )
- C → Ai
( Ai → An ).
Последняя формула в выводе имеет такой вид в силу допущений
пункта 4, так как ├C→Aj, а Aj=Ai→An.
Возьмем теперь вторую аксиому (x→(y→z))→((x→y)→(x→z)) и сделаем в ней подстановку
C, Ai , An
∫ ( ( x → ( y → z ) ) → ( ( x → y ) → ( x → z ) ) ).
x,y,z
Получим доказуемую формулу
├(C→(Ai→An))→((C→Ai)→(C→An)).
Тогда по правилу сложного заключения
-C → Ai ; -C → ( Ai → An ); - ( C → ( Ai → An ) ) → ( ( C → Ai ) → ( C → An ) )
-C → An
.
Итак, доказано, что Γ├C→An, причем An может определятся четырьмя указанными способами.
Вернемся теперь к началу теоремы. Пусть Γ, C├A. Тогда Γ, C: A1,
A2,…, An-1, A, то есть роль An играет A. Тогда по предыдущему доказательству Γ├C→A и теорема дедукции доказана.
Обобщение теоремы дедукции: справедлива формула
(
A1, A2 , A3 ,..., An - A
- A1 → A2 → ( A3 → ...( An → A )...)
)
.
Докажем ее.
Итак, Γ={A1, A2,…, An}, Γ├A. Но Γ={A1, A2,…, An-1}∪{An}=Γn-1, An и
Γn-1, An├A. Тогда по теореме дедукции справедливо Γn-1├An→A. Ана91
логично множество Γn-1 можно представить в виде Γn-1=Γn-2, An-1,
тогда Γn-2├An-1→(An→A) и так далее. Применив эту процедуру n раз,
получим ├A1→(A2→(A3→…(An→A)…)).
A1 - A
В частном случае при n=1 получим
. Эта же формула
- A1 → A
получается и из простой теоремы дедукции, если Γ, C={A1}.
2. Закон перестановки посылок ├(A→(B→C))→(B→(A→C)).
Рассмотрим множество формул Γ={A→(B→C), A, B}. Из этой совокупности формул после применения дважды правила простого заключения находим:
Γ : A → ( B → C ), A, B,
B→C
,
C
.
ïî ïðîñòîìó çàêëþ÷åíèþ
- B, - B →C
ïî ïðîñòîìó çàêëþ÷åíèþ
- A, - A →( B →C )
-C
- B →C
Теперь применим обобщенную теорему дедукции:
A1
A

 A2 A
3 
A → ( B → C ), B , A - C



- ( A → ( B → C )) →  B
A →C
 →  
  
  A
A  
 2  A3
A1
.
Из закона перестановки посылок следует правило перестановки
посылок в доказуемых формулах
- A → (B → C)
,
-B → ( A → C )
которое получается по правилу простого заключения из формул
├A→(B→C) и ├(A→(B→C))→(B→(A→C)).
3. Закон соединения посылок ├(A→(B→C))→(A∧B→C).
Пусть множество исходных формул Γ={A→(B→C), A∧C}. Получим
вывод всех необходимых нам формул из этого множества
Γ
B
A
∧
Γ :: A
A→
→ (B
B→
→C
C ),, A
A∧
∧B
B,, A
Aïî∧
∧òðåòüåé
B→
→A
A,, ïî
A ÷åòâåðòîé
∧B
B→
→B
B ,,
B
B
ïî ÏÏÇ
ÏÏÇ
ïî
A
∧
B
;
- A ∧ B; -A
A∧
∧B
B→
→B
B
ïî òðåòüåé ïî ÷åòâåðòîé
àêñèîìå
àêñèîìå
àêñèîìå
àêñèîìå
-B
B
A
A
ïî
ïî ÏÏÇ
ÏÏÇ
-A
A∧
∧B
B;; -A
A∧
∧B
B→
→A
A
-A
A
-
92
,,
B→
→C
C
B
ïî ÏÏÇ
ÏÏÇ
ïî
-A
A;; -A
A→
→( B
B→
→C
C)
-B
B→
→C
C
,,
C
C
ïî
ïî ÏÏÇ
ÏÏÇ
-B
B;; -B
B→
→C
C
-C
C
-
..
,,
Отсюда на основании обобщенной теоремы дедукции получим:
A1
A2
A

 
 
A → ( B → C ), A ∧ B - C


- ( A → ( B → C )) →  
A
∧
B→C

  A
A 
 2
A1
.
Из этого закона при условии, что ├A→(B→C), по правилу простого
заключения немедленно получается правило соединения посылок:
- A → (B → C)
-A ∧ B → C
.
4. Закон разъединения посылок ├(A∧B→C)→(A→(B→C)).
Рассмотрим систему формул Γ={A∧B→C, A, B} и сначала покажем, что из нее выводима формула A∧B. Пусть R – любая выводимая формула, тогда Γ:A→(B→C), A, B, R,
R,
A → (R → A)
R→A
,
I1 - x →( y →x )
A,R
∫ ( I1 ) ≡ - A →( R → A )
x,y
ïî ÏÏÇ
,
- A; - A →( R → A )
-R → A
( R → A ) → (( R → B ) → ( R → A ∧ B )) ,
II3 -( z→x )→(( z→y )→( z→x ∧ y ))
R , A, B
∫ ( II3 )≡ -( R → A )→(( R → B )→( R → A ∧ B ))
z,x,y
B → ( R → B ), R → B,
àíàëîãè÷íî
ïðåäûäóùåìó
(R → B) → (R → A ∧ B)
,
ïî ÏÏÇ
- R → A, -( R → A )→(( R → B )→( R → A ∧ B ))
-( R → B )→( R → A ∧ B )
R→ A∧B
ïî ÏÏÇ
- R → B, -( R → B )→( R → A ∧ B )
-R → A ∧ B
,
A∧B
ïî ÏÏÇ
- R, - R → A ∧ B
.
- A∧B
Итак, формула A∧B выводима из формул A∧B→C, A, B. Продолжим вывод до применения теоремы дедукции:
93
Γ : A ∧ B,
C
ïî ÏÏÇ
- A ∧ B, - A ∧ B →C
-C
,
( A ∧ B → C ) → ( A → ( B → C ) ).
ïî îáîáùåííîé òåîðåìå äåäóêöèè
A ∧ B →C, A,B - C
( A ∧ B→C )→( A →( B→C ))
Отсюда следует и правило разъединения посылок
-A ∧ B → C
- A → (B → C)
, ибо
- A ∧ B → C, - ( A ∧ B → C ) → ( A → ( B → C ) )
- A → (B → C)
.
Рассмотрим теперь несколько примеров на доказательство формул исчисления высказываний с использованием всех ранее рассмотренных теорем.
Пример 1. Доказать допустимость следующего правила вывода:
Γ, B - A
– правило для доказательства теорем от противного. При
Γ, A - B
доказательстве новых правил, естественно, могут использоваться
уже известные правила вывода. Пусть A={A}, тогда, очевидно, A├A.
Воспользуемся уже рассмотренным правилом расширения
A -A
Γ, A - A
.
По условию Γ, B - A , по правилу сведения к противоречию
Γ1 - A; Γ2 - A
Γ1, Γ2 в нашем случае получим
Γ, B - A; Γ, A - A
Γ, B, A -
, ибо Γ1, Γ2 = Γ, B, A = Γ ∪ B ∪ A.
Последнее необходимое правило удаления отрицания
Γ, A Γ -A
.
Γ, A, B . Итак доказано исходное правило вывоВ нашем случае
Γ, A - B
Γ, B - A
да
.
Γ, A - B
Пример 2. Вывести следующую секвенцию {A→B, B→C}├A→C.
Итак, Γ={A→B, B→C}, следовательно, Γ├A→B, Γ├B→C. Тогда по
правилу силлогизма
- A → B; - B → C
-A → C
94
.
Пример 3. Вывести следующую секвенцию (A→(B→C))├B→(A→C).
Из исходного множества результат следует немедленно, если воспользоваться правилом перестановки посылок
- A → (B → C)
-B → ( A → C )
.
Пример 4. Вывести следующую секвенцию - A ∨ A – закон исключенного третьего.
Исходное множество не задано, следовательно, оно может быть
произвольным. Выведем сначала две вспомогательные формулы
x → x → y и x ∨ y → x ∧ y. Воспользуемся пятой, девятой и шестой
аксиомами. Итак, замена в пятой аксиоме
(
)
-
x,y,x ∨ y
∫ (( z → x ) → (( z → y ) → ( z → x ∧ y ))) ≡
x,y,z
((
) ((
) (
≡ - x∨y→x → x∨y→y → x∨y→x∧y
) ) ),
теперь в девятой
x∨ y
-
∫ (( x → y ) → ( y → x )) ≡ - ( x → x ∨ y ) → ( x ∨ y → x ) .
y
Применим правило простого заключения и шестую аксиому
в качестве посылки
(
-x → x ∨ y; - ( x → x ∨ y ) → x ∨ y → x
-x ∨ y → x
),
теперь сделаем подстановку в доказанной формуле
-
y,x
∫ ( x ∨ y → x ) ≡ -x ∨ y → y,
x,y
наконец, применим правило сложного заключения, получим:
(
) ((
) (
- x ∨ y → x; - x ∨ y → y; - x ∨ y → x → x ∨ y → y → x ∨ y → x ∧ y
-x ∨ y → x ∧ y
))
.
95
Таким образом, доказана одна из двух вспомогательных формул.
Докажем теперь вторую из них. Для этого используем первую и девятую аксиомы, сделав в них следующие замены переменных:
y
(
)
-∫ ( x → ( y → x )) ≡ - x → y → x и
y
-
y ,x
∫ ( ( x → y ) → ( y → x ) ) ≡ - ( y → x ) → ( x → y ).
x,y
Теперь применим несколько известных правил вывода. По правилу силлогизма
- A → B; B → C
-A → C
получим
(
) (
)
(
)
(
-x → y → x ; - y → x → x → y
-x → x → y
);
по правилу соединения посылок
- A → (B → C)
-A ∧ B → C
в нашем случае
(
-x → x → y
-x ∧ x → y
);
по правилу снятия двойного отрицания
-A → B
-A → B
будем иметь -x ∧ x → y; наконец, по правилу разъединения посылок
96
-A ∧ B → C
- A → (B → C)
получим доказуемость второй вспомогательной формулы
-x ∧ x → y
(
-x → x → y
)
.
В дальнейшем доказательстве используются две полученные выводимые формулы. Сначала сделаем в них подстановки
x
(
))
(
- ∫ x ∨ y → x ∧ y ≡ -x ∨ x → x ∧ x и
y
-
x,y
∫
x,y
( x → ( x → y ) ) ≡ - x → ( x → y ),
затем применим закон соединения посылок
- A → (B → C)
-A ∧ B → C
тогда
(
-x → x → y
-x ∧ x → y
,
).
По правилу силлогизма
- A → B; B → C
-A → C
получим
-x ∨ x → x ∧ x; x ∧ x → y
-x ∨ x → y
правило контрпозиции
-A → B
-B → A
дает
;
-x ∨ x → y
-y → x ∨ x
.
97
Правило снятия двойного отрицания
-A → B
-A → B
позволяет получить доказуемую формулу
-y → x ∨ x
-y → x ∨ x
.
Воспользуемся теперь правилом удаления импликации
Γ1 - A → B; Γ2 - A
Γ1, Γ2 - B
.
Пусть Γ2={R}, где R – любая доказуемая формула. Тогда
R
( (
))
(
)
- ∫ y → x ∨ x ≡ -R → x ∨ x .
y
Правило удаления импликации применительно к этой формуле будет иметь вид
-R → x ∨ x; -R
-x ∨ x
.
Наконец, сделаем последнюю подстановку
A
(
)
- ∫ x ∨ x ≡ - A ∨ A.
x
Итак, исходная формула доказана.
Пример 5. Доказать выводимость
- A → B; - A → B
-A
.
В этом примере исходное множество формул имеет вид
=
Γ A → B, A → B . Воспользуемся выводимой формулой, полученной на основе девятой аксиомы - ( A → B ) → B → A . По правилу
простого заключения имеем
{
98
}
(
)
(
- A → B; - ( A → B ) → B → A
-B → A
)
,
тогда по правилу силлогизма получается вспомогательная формула
- A → B; - B → A
-A → A
.
Пусть теперь A – любая доказуемая формула. По правилу удаления
импликации
- A; - A → A
-A
.
Пример 6. Доказать =
Γ { A → B} - A ∧ C → B ∧ C .
Γ : A → B. В множестве Γ нет формулы C . Введем ее дополнительно, положив Γ=
1 { A → B, A ∧ C}, Γ ⊂ Γ1 . Тогда
A∧C→ A
Γ1 : A → B, A ∧ C,
,
A∧C→C
,
ïî òðåòüåé àêñèîìå
x ∧ y→x
ïî ÷åòâåðòîé àêñèîìå
x ∧ y→y
,
A
ïî ÏÏÇ
- A ∧ C; - A ∧ C → A
-A
C
ïî ÏÏÇ
,
.
B
ïî ÏÏÇ
- A ∧ C; - A ∧ C →C
- A; - A → B
-C
-B
По правилу ведения конъюнкции
Γ1 - A; Γ2 - B
Γ1, Γ2 - A ∧ B
.
Здесь Γ1 =Γ2 è Γ1, Γ2 =Γ1 .
Воспользуемся теперь теоремой дедукции
Γ,C - A
Γ -C → A
.
99
В данном случае получим
,C
A
 Γ
  

A
B
,
A
C
B
C
→
∧
∧




.


A
B - 
A∧C→B
→
∧C




 Γ 
C
A
Итак, формула A ∧ C → B ∧ C выводима только из Γ , введение
Γ1 с формулой A ∧ C было лишь вспомогательным действием.
Пример 7. Докажем более сложное, чем указано в списке правил
исчисления высказываний, правило введения дизъюнкции
Γ, A -C; Γ, B -C
Γ, A ∨ B -C
.
По условию
Γ, A -C, Γ, B -C .
По теореме дедукции
Γ,C - A
Γ -C → A
Γ, A -C
Γ -A → C
и
имеем
Γ,B -C
Γ -B → C
.
Сделаем в восьмой аксиоме следующую замену переменных:
-
A,B,C
∫ (( x → z) → (( y → z) → ( x ∨ y → z))) ≡
x,y,z
≡ - ( A → C ) → (( B → C ) → ( A ∨ B → C ))
и применим правило сложного заключения
- A → C; - B → C; - ( A → C ) → ( ( B → C ) → ( A ∨ B → C ) )
-A ∨ B → C
.
Для доказательства требуемой формулы воспользуемся правилом удаления импликации
Γ -Ñ → A
Γ, C - A
100
.
В нашем случае
Γ -A ∨ B → C
Γ, A ∨ B -C
.
Следовательно, правило введения дизъюнкции доказано.
Пример 8. Докажем правило введения конъюнкции
Γ - A; Γ - B
Γ -A ∧ B
.
По условию Γ - A, Γ - B . Докажем сначала, что { A, B} - A ∧ B.
Для этого сделаем подстановки в пятой и первой аксиоме:
-
A,B, A
∫ (( z → x ) → (( z → y ) → ( z → x ∧ y ))) ≡ - ( A → A ) → (( A → B ) →
x,y,z
→ ( A → A ∧ B ) ), -
B, A
∫ ( x → ( y → x ) ) ≡ - B → ( A → B ).
x,y
Ранее уже показывалось, что формула A → A выводима из любой совокупности формул, в том числе и { A, B} - A → A.
Применим несколько раз правило простого заключения
- A → A; - ( A → A ) → ( ( A → B ) → ( A → A ∧ B ) )
-( A → B) → ( A → A ∧ B)
- B; - B → ( A → B )
-A → B
- A → B; ( A → B ) → ( A → A ∧ B )
-A → A ∧ B
,
,
,
- A; - A → A ∧ B
-A ∧ B
.
§ 2.4. Практическое занятие № 5.
Исчисление высказываний: правила вывода
и доказуемость формул
2.4.1. Выписать все подформулы формул:
а) A → B ∨ A ∧ B;
б) A → B → ( A → B ) ;
(
)
101
(
)
в) ( ( A → B ) ∧ ( B → C ) ) → A ∨ C ;
г) (A1→A2∨A3)→A3.
2.4.2. Применяя только правило подстановки, доказать, что выводимы следующие формулы:
а) A∧B→A∧B∨C;
б) (A→A)→((A→B∧C)→(A→A∧B∧C));
в) (A∧B→(C→B∧C))→((A∧B→C)→(A∧B→B∧C));
г) A ∨ B → C → C → A ∧ B .
2.4.3. Являются ли выводами в исчислении высказываний следующие последовательности формул:
а) A→(A∨B);
б) A→(A∨B), (A→(A∨B))→(B→(A→(A∨B))), B→(A→(A∨B));
в) A→(B→A), (A→(B→A))→B, B?
2.4.4. Выводами из каких множеств формул Γ является следующая последовательность формул:
а) A→(B→C), A, B→C, B, C;
(
(
) (
)
)
(
)
б) A → B → B → A , A → B, B → A, B, A;
в) A→B, A, B, B→B∨C, B∨C, (A→B)→(A→B∨C)?
2.4.5. Доказать допустимость следующих правил вывода:
Γ, B, B - A
а)
– правило сокращения;
Γ, B - A
б)
в)
Γ1 - A, Γ2 , A - B
Γ1, Γ2 - B
;
Γ1, A, B, Γ2 -C
– правило перестановки.
Γ1, B, A, Γ2 -C
2.4.6. Применяя производные правила вывода, показать выводимость формул:
а) - A ∧ A → F ;
б) - ( A → B ) ∧ B → A ;
в) - A ∨ A → A ;
г) - A ∧ B → A ∨ B;
д) - A → ( B → A ∧ B );
е) - A → ( A → B ).
102
2.4.7. Вывести следующие секвенции:
а) A→(B→C)├(A∧B)→C;
б) A→B├(A∧C)→(B∧C);
в) A - A → B;
г) A → B - B → A ;
д) A→B, B→C├A→C;
е) A→B├(C→A)→(C→B);
ж) A→B├A∨C→B∨C;
з) A, A → B - B;
и) A → B, B - A ;
к) A├B→A.
2.4.8. Доказать производные правила вывода:
A1, A2 ,..., An - B
а)
;
- A1 ∧ A2 ∧ ... ∧ An → B
б)
в)
г)
д)
- A → B, - A → B
-B
- A, - B
-A → B
-A ∧ B
-A
;
;
-A → A
-A
;
.
2.4.9. Используя обобщенную теорему дедукции, доказать следующие формулы:
а) (A→B)→((B→C)→(A→C));
б) (A→B)→((C→A)→(C→B));
в) A → ( B → A ) → B .
2.4.10. Введем следующее исчисление (исчисление Лукасевича):
множество предметных переменных и констант состоит из бесконечного числа букв и знаков , → . Все буквы есть формулы, если
j – формула, то ϕ также формула; если j и ψ – формулы, то j→ψ
тоже формула. Система аксиом следующая:
а) (A→B)→((B→C)→(A→C));
103
(
)
б) A → A → A;
в) A → A → B .
Справедливы правило подстановки и правило заключения. Доказать, что в исчислении Лукасевича выводима формула A→A.
(
)
§ 2.5. Монотонность и эквивалентность формул
исчисления высказываний
Формула B(A), содержащая переменное высказывание A, называется монотонно возрастающей (убывающей) по A, если из выводимости A1→A2 следует выводимость B(A1)→B(A2) B(A2)→B(A1).
Говорят, что формула B сильнее формулы D, если ├B→D. Эти два
понятия позволяют упрощать доказательства, в которых производится замена части какой-нибудь формулы более слабой или более
сильной формулой.
Из определения монотонности следует, что если формула B(A1)
монотонно возрастает по A1 и ├B(A1), то заменив A1 более слабой формулой A2, получим также выводимую формулу. Действительно, пусть ├A1→A2 и ├B(A1). Из определения монотонности
├B(A1)→B(A2). Тогда по правилу простого заключения
- B ( A1 ), - B ( A1 ) → B ( A2 )
- B ( A2 )
.
Наоборот, если B(A) убывает по A, то B(A1) остается выводимой
при замене A1 более сильной формулой.
Теорема 2.2. Все основные логические операции монотонны по
всем участвующим в них переменным высказываниям: формулы
A∧B и A∨B монотонно возрастают по A и B, A убывает по A, A→B
убывает по A и возрастает по B.
Доказательство. Докажем только, что A∨B монотонно возрастает по A. Пусть ├A1→A2. Из аксиомы III 2 (см. формулы (2.1.1)) подстановкой получим
B, A2
∫ ( y → x ∨ y ) ≡ -B → A2 ∨ B.
y,x
Подстановка в III 1 дает
A2 ,B
∫ ( x → x ∨ y ) ≡ - A2 → A2 ∨ B,
x,y
104
отсюда по правилу силлогизма
- A1 → A2 , - A2 → A2 ∨ B
- A1 → A2 ∨ B
.
Наконец, сделаем подстановку в аксиому III 3, тогда
A1,B, A2 ∨ B
∫
( x → z) → (( y → z) → ( x ∨ y → z)) ≡
x,y,z
≡ - ( A1 → A2 ∨ B ) → ( ( B → A2 ∨ B ) → ( A1 ∨ B → A2 ∨ B ) ).
Теперь, применяя дважды правило простого заключения, получим
- A1 → A2 ∨ B, - ( A1 → A2 ∨ B ) → ( ( B → A2 ∨ B ) → ( A1 ∨ B → A2 ∨ B ) )
- ( B → A2 ∨ B ) → ( A1 ∨ B → A2 ∨ B )
- B → A2 ∨ B, - ( B → A2 ∨ B ) → ( A1 ∨ B → A2 ∨ B )
- A1 ∨ B → A2 ∨ B
,
.
Итак, ├A1∨B→A2∨B, т. е. формула A∨B монотонно возрастает. Прочие положения теоремы 2.2. доказываются аналогично.
Из алгебры высказываний имеем (A→B)∧(B→A)≡A↔B. Знак ↔
не является символом исчисления высказываний и может употребляться лишь для сокращения выражений. Этот знак – символ языка, на котором доказываются утверждения об исчислении. Иногда
этот язык называют метаязыком.
Две формулы A и B называются эквивалентными, если ├A↔B.
Очевидно, что всякие две выводимые формулы исчисления высказываний эквивалентны. Действительно,
Γ : A, B,
A → (B → A)
I1:x →( y →x )
,
A, B
∫ ( I1 ) ≡ - A →( B → A )
x,y
B→ A
ïî ÏÏÇ
- A, - A →( B → A )
, B → ( A → B ), A → B,
àíàëîãè÷íî
ïðåäûäóùåìó
- B→ A
( A → B ) ∧ ( B → A ).
ïî ïðàâèëó ââåäåíèÿ
êîíúþíêöèè
Таким образом, если ├A и ├B, то ├A↔B. Можно продолжить вывод,
воспользовавшись правилом удаления импликации
Γ -B → A
Γ, B - A
.
105
Тогда справедливы формулы
-B → A
B -A
и
-A → B
A -B
.
Следовательно, если две формулы эквивалентны, т. е. ├A↔B, то
A├B и B├A. Соотношение эквивалентности рефлексивно: A↔A,
симметрично, т. е. если A↔B, то B↔A; транзитивно: если A↔A и
B↔C, то A↔C.
Теорема 2.3. Пусть A – формула исчисления высказываний, а
B – её подформула. Пусть A / получается из A путем замены некоторого вхождения B на формулу B/ . Тогда если B ↔ B/ , то
A ↔ A / , т. е. - B ↔ B/ → A ( B ) ↔ A B/ .
Понятие эквивалентности имеет большое практическое значение, так как основные свойства формул исчисления высказываний
сохраняются при переходе к эквивалентным формулам. Поэтому
важно уметь находить для каждой формулы эквивалентную ей формулу, но устроенную по возможности более просто.
(
) (
( ))
§ 2.6. Связь между формулами алгебры высказываний
и исчисления высказываний [11]
Как уже упоминалось, алгебру высказываний можно представить в качестве интерпретации исчисления высказываний. Исчисление высказываний построено как аксиоматическая теория путем
формализации алгебры высказываний. Покажем, как множество
теорем исчисления совпадает с множеством тождественно истинных формул алгебры высказываний.
Введем понятие значения формулы исчисления высказываний.
Пусть A – формула исчисления высказываний, а x1, x2,…, xn – ее
переменные, α1, α2,…, αn – набор значений этих переменных. Так
Τ
как αi∈{0, 1}, i=1, 2,…, n, вектор ( α1, α2 ,..., αn ) имеет 2n значений.
Теорема 2.4. Всякая формула, доказуемая в исчислении высказываний, является тождественно истинной формулой в алгебре
высказываний.
Доказательство. Необходимо рассмотреть и доказать три случая:
а) тождественную истинность аксиом исчисления высказываний,
б) тождественную истинность формул, полученных применением к тавтологиям правила подстановки, и
106
в) тождественную истинность формул, полученных из тавтологий по правилу простого заключения.
Тождественная истинность аксиом исчисления проверяется непосредственно перебором всех значений их переменных по таблицам истинности. Проверим по табл. 2.6.1, например, аксиомы, содержащие три переменные.
Таблица 2.6.1
x
y
z
(x→(y→z))→
→ ((x→y)→(x→z))
(z→x)→((z→y)→
→ (z→x∧y)
(x→z)→((y→z)→
→ (x∨y→z))
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Прочие аксиомы проверяются аналогично.
Пусть x1, x2,…, xn, x – перечень всех переменных, входящих
в формулы A и B, например, A(x1, x2,…, xn, x) и B(x1, x2,…, xk), k≤n.
Тогда значения формул A и B на наборе α1, α2,…, αn, α будут равны
A ( α1, α2 ,..., αn , α ) =α , B(α1, α2,…, αk)=β. Рассмотрим значения формул при различных подстановках:
xi
A ( x1, x2 ,..., xn , B )
αi
= αi ,
B
∫ ( A ) =A ( x1, x2 ,..., xn , B ),
x
( α1,α2 ,...,αn ,α )
= A ( α1, α2 ,..., αn , B ( α1, α2 ,..., α k ) ) =
=A ( α1, α2 ,..., αn ,β ) =α 1.
Если A – тавтология, то A ( α1, α2 ,..., αn , α ) = A ( α1, α2 ,..., αn ,β ) ≡ 1 ,
т. е. если A ( x1, x2 ,..., xn , x ) = 1 , то
B
=
∫ ( A ) A ( x1, x2,..., xn , B ) ≡ 1 .
x
Пусть A и A→B – тождественно истинные формулы. Тогда из свойств
импликации при любом наборе α1, α2,…, αn, α 1→B=1. Отсюда B≡1. Следовательно, любая выводимая формула тождественно истинна.
107
Теорема 2.5 (теорема о выводимости). Пусть A – некоторая формула исчисления высказываний; x1, x2,…, xn – набор всех переменных, входящих в формулу A, α1, α2,…, αn – произвольный фиксированный набор значений этих переменных. Пусть конечная совокупность формул
{
α
}
α
Γ = x1 1 , x2 2 ,..., xnαn ,
1,
 xi , åñëè α i =
α
где xi i = 
xi , åñëè α i =0.
Тогда, если значение формулы A при наборе α1, α2,…, αn переменных x1, x2,…, xn равно 1, то Γ├A, если же значение формулы A
при наборе α1, α2,…, αn равно 0, то Γ - A .
Доказательство. Докажем теорему методом математической индукции по длине рассматриваемой формулы.
Пусть формула A есть переменная xi. Тогда, если xi α = 1, то xi├xi
αi
и xi
αi
-xi , т. е. xi
xi α = 0, то
i
α
xi i
{ }
αi
- A . Но Γ = xi
= xi и
α
xi i
i
, следовательно Γ├A. Если же
αi
-xi , т. е. xi
{ }
- A . Аналогично, Γ = xiαi
и Γ - A.
Увеличим теперь длину формулы A. Очевидно, что A может
иметь один из следующих четырех видов: а) B1, б) B1∧B2, в) B1∨B2,
г) B1→B2. Только что доказана для B1 и B2 теорема 2.5 справедлива.
Рассмотрим лишь случаи а) и г).
а) Пусть A имеет вид B1. Если B1 ( α1, α2 ,..., αn ) =
1, то B1(α1, α2,…,
αn)=0 и, следовательно, Γ - B1 , т. е. Γ├A. Если же B1 ( α1, α2 ,..., αn ) =
0,
то B1(α1, α2,…, αn)=1 и Γ├B1. Продолжим теперь вывод по правилам
исчисления высказываний
Γ : B1,
B1 → B1
IV2 :x →x
,
B
∫ ( IV2 ) ≡ - B1 → B1
x
B1
.
ïî ÏÏÇ
- B1, - B1 → B1
- B1
Но B1 = A, тогда Γ - A .
г) Пусть A=B1→B2. Если A(α1, α2,…, αn)=1, то по свойству импликации либо B1(α1, α2,…, αn)=0, либо B2(α1, α2,…, αn)=1. Если B1(α1,
α2,…, αn)=0, то Γ - B1 .
108
Запишем вывод из Γ.
(
Γ : B1,
B1 → B2 → B1
I1:x →( y →x )
)
( B2 → B1 ) → ( B1 → B2 )
,
IV1:( x →y )→( y →x )
B2 ,B1
∫ ( IV1 ) ≡ -( B1 → B1 )→ B1 → B2
x,y
B1,B2
∫ ( I1 ) ≡ - B1 →( B2 → B1 )
x,y
(
, B1 ∧ B1 → B2 ,
B1 → B2
ñèëëîãèçì
(
- B1 →( B2 → B1 ), -( B2 → B1 )→ B1 → B2
(
- B1 → B1 → B2
(
)
)
ñîåäèíåíèå
ïîñûëîê
- B1 → B1 → B2
(
)
)
(
)
)
B1 ∧ B1 → B2
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- B1 ∧ B1 → B2
,
- B1 ∧ B1 → B2
- B1 ∧ B1 → B2
B1 → B1 → B2 ,
B1 → B1 → B2 ,
ðàçúåäèíåíèå ïîñûëîê ïåðåñòàíîâêà ïîñûëîê
- B1 ∧ B1 → B2
- B1 →( B1 → B2 )
- B1 →( B1 → B2 )
- B1 →( B1 → B2 )
,
B1 → B2
ïî ÏÏÇ
- B1, - B1 →( B1 → B2 )
.
- B1 → B2
Таким образом, Γ├B1→B2. Если же B2(α1, α2,…, αn)=1, Γ├B2. Тогда
вывод из Γ имеет следующий вид:
Γ : B2 ,
B2 → ( B1 → B2 )
I1:x →( y →x )
,
B2 ,B1
∫ ( I1 )≡ - B2 →( B1 → B2 )
x,y
B1 → B2
ïî ÏÏÇ
- B2 , - B2 →( B1 → B2 )
.
- B1 → B2
Итак, и в этом случае Γ├B1→B2.
Пункты б) и в) этой теоремы доказываются аналогично. Представляем читателям сделать это самостоятельно.
Теорему 2.5 часто применяют для добавления в вывод из множества Γ какой-нибудь сложной формулы, включающей в себя предыдущие члены вывода в качестве составных частей.
Пример. Дана формула A = x ∨ y → x ∧ z и наборы значений
переменных: а) (1,0,0 ) и б) ( 0,1,1) . Записать вывод формул A или
A из соответствующей совокупности формул.
а) A (1,0,0 ) = 1 ∨ 0 → 1 ∧ 0 ≡ (1 ∨ 1) → ( 0 ∧ 1) ≡ 1 → 0 = 0. Следова-
(
) (
)
(
) ( )
=
Γ {x, y, z} - A , т. е.
тельно, из множества
{x,y,z} -( x ∨ y ) → ( x ∧ z).
109
Действительно,
( x ∨ y → x ∧ z ) → ( x ∨ y → x ∧ z ),
Γ : x, y, z, x → x,
A
∫ ( x →x )≡ - x ∨ y→x ∧ z → x ∨ y→x ∧ z
x
(
(
)
x ∨ y → x ∨ y → x ∧ z → x ∧ z,
ïåðåñòàíîâêà ïîñûëîê
- x ∨ y→x ∧ z → x ∨ y→x ∧ z
(
) (
(
)
) (
x→x∨y
y
∫ ( III1 ) ≡ - x →x ∨ y
y
)
-∨ y → x ∨ y →x ∧ z →x ∧ z
( x ∨ y → x ∧ z) → x ∧ z
(
)
(
)
(
- x ∧ z→ x ∨ y → x ∧ z
x∧z→x
,
II1:x ∧ y →x
x,z
∫ ( II1 ) ≡ - x ∧ z→x
x,y
x→x∧z
-x∨ y
(
- x ∨ y→x ∧ z →x ∧ z
)
x→x∧z ,
êîíòðïîçèöèÿ
- x ∧ z→ x
- x→x ∧ z
x∧x
,
ñíÿòèå äâîéíîãî îòðèöàíèÿ
- x →x ∧ z
,
êîíòðïîçèöèÿ
- x ∨ y→x ∧ z →x ∧ z
)
)
x∨y
ïî ÏÏÇ
- x, - x →x ∨ y
, x∧z→ x∨y→x∧z ,
ïî ÏÏÇ
- x ∨ y, - x ∨ y → x ∨ y →x ∧ z →x ∧ z
(
,
III1:x →x ∨ y
)
,
ïî ÏÏÇ
x∨y→x∧z≡ A
ïî ÏÏÇ
- x, - x →x ∧ x
- x ∧ x, - x ∧ x →x ∨ y →x ∧ z
-x∧x
- x ∨ y→x ∧ z
- x →x ∧ z
.
Каждую из формул этого вывода можно было непосредственно
поставить в вывод, проверив ее значение на наборе (1, 0, 0), например, x ∧ z
(1,0,0 )
= 1 ∧ 0 = 0 ∧ 1 = 0 = 1.
(
) (
)
б) A ( 0,1,1) = 0 ∨ 1 → 0 ∧ 1 = ( 0 ∨ 0 ) → (1 ∧ 0 ) = 0 → 0 = 1. Значит,
{x,y,z} - A .
=
Γ
Проверим это
(
)
Γ : x, y, z, x → y → x ,
I1:x →( y →x )
y
∫ ( I1 ) ≡ - x → y →x
y
(
)
(y → x) → (x → y)
(
(
(
x→ x→y
110
(
)
ñèëëîãèçì
) (
) (
- x→ y→x , - y→x → x→y
(
)
IV1:( x →y )→ y →x
y,x
∫ ( IV1 ) ≡ - y →x → x →y
x,y
- x → x→y
)
,
)
) (
,
)
I1:x →( y →x )
y
∫ ( I1 ) ≡ - x → y →x
y
(
(
)
(
(
x→ x→y
)
) (
) (
- x→ y→x , - y→x → x→y
(
- x → x→y
x∧x→y ,
ñîåäèíåíèå
ïîñûëîê
- x → x →y
(
)
x∧x→y
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- x ∧ x →y
- x ∧ x →y
x→y
ïî ÏÏÇ
- x, - x →( x →y )
- x →y
)
(
)
ðàçúåäèíåíèå
ïîñûëîê
- x ∧ x →y
- x → x →y
(
x∨y→ x∨y→x∧z
,
)
)
x∧y→x∨y
(
,
x∨y
ïî ÏÏÇ
,
x → (x → y),
ïåðåñòàíîâêà
ïîñûëîê
- x → x →y
(
)
- x →( x →y )
,
x ∨ y, A
∫ ( x →y )≡ - x ∨ y→ x ∨ y→x ∧ z
x,y
x ∧ y,x ∨ y
( x→y )≡ - x ∧ y→x∨ y
∫
x,y
)
)
, x→ x→y ,
(
- x ∧ x →y
) (
,
ñèëëîãèçì
(
)
IV1:( x →y )→ y →x
y,x
∫ ( IV1 ) ≡ - y →x → x →y
x,y
)
x∧y
,
ïðàâèëî ââåäåíèÿ
êîíúþíêöèè
- x, - y
-x∧y
x∨y→x∧z≡ A
ïî ÏÏÇ
(
- x ∧ y, - x ∧ y →x ∨ y
- x ∨ y, - x ∨ y → x ∨ y →x ∧ z
-x∨ y
- x ∨ y→x ∧ z
.
)
Проверка по теореме 2.5 для каждого члена приведенного вывода
дает аналогичный результат. Например,
x→y
( 0,1,1) = 0 → 1 = 1, x → ( x → y ) ( 0,1,1) = 0 → ( 0 → 1) = 1 → 1 = 1
и так далее.
Теорема 2.6. Каждая тождественно истинная формула алгебры
высказываний доказуема в исчислении высказываний.
Доказательство
Пусть A – тождественно истинная формула алгебры высказываний, а x1, x2,…, xn – список всех ее переменных. Рассмотрим произвольный набор этих переменных α1, α2,…, αn.
A ( x1, x2 ,..., xn )
= 1, следовательно, по теореме 2.5 Γn - A ,
( α1,α2 ,...,αn )
{
}
α
α
где Γn =x1 1 , x2 2 ,..., xnαn , причем Γn - A на всех 2n различных
n-ках чисел (α1, α2,…, αn).
111
Пусть
{
α
α
}
α
Γn -1 =
x1 1 , x2 2 ,..., xn -n1-1 ,
тогда, если αn=1, имеем Γn-1, xn├A, а в случае αn=0 Γn -1, xn - A . По
теореме дедукции
Γn -1, xn - A
Γn -1 -xn → A
,
Γn -1, xn - A
Γn -1 -xn → A
.
Запишем теперь вывод из Γn-1
( xn → A ) → ( ( xn → A ) → A )
Ñ = ( A → B )→( ( A → B )→ B ) ≡1 íà ëþáîì íàáîðå
Γn -1 : xn → A, xn → A,
,
ïåðåìåííûõ, ôîðìóëà âûâîäèìà ïî òåîðåìå 2.5
xn , A
∫ ( C ) ≡ -( xn → A )→ xn → A → A
A, B
((
( xn → A ) → A
,
ïî ÏÏÇ
((
)
- xn → A, -( xn → A )→ xn → A → A
(
)
)
A
ïî ÏÏÇ
- xn → A, - xn → A → A
(
)
)
.
)
-A
- xn → A → A
Итак, Γn-1├A. Точно так же, обозначая через
{
α
α
}
α
Γn -2 =
x1 1 , x2 2 ,..., xn -n2-2 ,
Γ1
получим Γn-2├A. Тогда и =
{ }
{x } - A. Если α =1, то {x }├A, если же
α1
1
1
1
α1=0, то x1 - A . По теореме дедукции
x1 - A
-x1 → A
,
x1 - A
-x1 → A
.
Аналогичный вывод дает ├A, т. е. формула A доказуема в любой
совокупности формул, если она тождественна истинна.
§ 2.7. Некоторые алгоритмы проверки выводимости формул
в исчислении высказываний
Выявление того, что из некоторого множества формул исчислениялогически следует другая формула, является по существу одной
из основных задач исчисления высказываний. Для доказательства
выводимости часто используется теорема 2.6.
112
1. Алгоритм Квайна. Для проверки тождественной истинности
формулы A(x1, x2,…, xn) используется так называемое семантическое дерево, представляющее собой бинарное однокорневое дерево
(рис. 2.1), удовлетворяющее следующим условиям:
x1
x2
x3
корень
x1
x2
x2
x3 x3
xn−1
xn
x3
x3
x3
x3
xn
Рис. 2.1
σ
а) каждое ребро помечено xi i ;
б) ребра, выходящие из одной вершины, соответствуют противоположным переменным xi и xi ;
в) ребра соответствуют одной и той же переменной тогда и только тогда, когда они находятся на одинаковом расстоянии от корня.
Граф, изображенный на рис. 2.1, имеет 2n висячих вершин, т. е. вершин последнего ряда, и для проверки тождественной истинности
в общем случае нужно исследовать 2n маршрутов от корня до каждой текущей вершины.
Алгоритм Квайна позволяет проходить лишь часть дерева и заключается в последовательном переборе переменных xi и придании
им значений 0, 1. Для каждого такого набора анализируется таблица истинности формулы A(x1, x2,…, xn), причем эта таблица из-за
фиксированного значения xi содержит меньшее число переменных.
Пример 1. A(x, y, z)=(x→z)→((y→z)→(x∨y→z)). Пусть x = 1. Тогда
формула A преобразуется следующим образом: A(1, y, z)=(1→z)→
→((y→z)→(1∨y→z))≡(1→z)→((y→z)→(1→z)). О значении полученной
формулы определенный вывод сделать еще нельзя. Придадим значение y=1, получим A(1, 1, z)=(1→z)→((1→z)→(1→z))≡(1→z)→1≡1.
Если же y=0, то A(1, 0, z)=(1→z)→((0→z)→(1→z))≡(1→z)→(1→(1→z)).
Продолжим процесс последовательного перебора значений переменных: z=1, A(1, 1, 1)=(1→1)→(1→(1→1))≡1, z=0, A(1, 1, 0)=(1→0)→(1→
→(1→0))≡0→(1→0)≡0→0≡1.
113
Рассмотрим теперь случай x = 0 . Получим A(0, y, z)=(0→z)→((y→
→z)→(0∨y→z))≡1→((y→z)→(y→z))≡1→1→1. Таким образом, все рассмотренные случаи приводят к тождественно истинным формулам,
и формула A тождественно истинна, а значит доказуема. На рис.
2.2, а изображен граф, соответствующий формуле, а на рис. 2.2, б
его подграф, использованный для проверки выводимости.
а)
y
y
z
zz
б)
x
x
y
y
zz
y
y
z
zz
x
x
z
z
Рис. 2.2
(
)
A ( x, y ) =x ∧ ( x → y ) ∧ x → y . Придадим знаПример 2.
A (1, y ) =1 ∧ (1 → y ) ∧ 1 → y ≡ (1 → y ) ∧ 1 → y ;
чение x=1.
y=1,
A(1, 1)=(1→1)→(1→0)≡1→0≡0.
Формула A выполнима и не выводима из произвольного (может
быть пустого) множества формул (рис. 2.3, а, б).
(
а)
y
x
y
x
y
)
б)
y
(
)
x
y
Рис. 2.3
2. Алгоритм метода редукций похож на алгоритм только что
рассмотренного метода Квайна. При переборе наборов значений переменных исследуемой формулы используется свойство импликации быть ложной только тогда, когда посылка истинна, а следствие
ложно. Метод эффективен для формул, содержащих много импликаций.
Рассмотрим ту же функцию A(x, y, z)=(x→z)→((y→z)→(x∨y→z)).
Предположим, что формула A ложна при некотором наборе переменных (σ1, σ2, σ3). Тогда по свойству импликации x→z=1, а
(y→z)→(x∨y→z)=0, т. е. y→z=1 и x∨y→z=0, x∨y=1, z=σ3=0. Но если
z=0, то x→z=0 или y→z=0, а не 1, как было получено раньше. Данное
противоречие говорит о том, что исходное предположение о ложности формулы A неверно. Таким образом, формула A тождественно
истинна.
114
3. Метод резолюций. Рассуждения, являющиеся основой метода
логического вывода, называемого методом резолюций, заключаются в следующем. Чтобы доказать, что {A1, A2,…, An}├A необходимо
показать, что A1∧A2∧…∧An→A – тавтология.
Действительно, пусть Γ={A1, A2,…, An}. Так как Ai∈Γ, i = 1,n, , то
Γ├Ai. По правилу введения конъюнкции
Γ - A, Γ - B
Γ -A ∧ B
,
т. е. если Γ├A1, A2,…, An, то Γ├A1∧A2∧…∧An. Следовательно, формулу
A1∧A2∧…∧An можно добавить в Γ. Тогда по теореме дедукции
Γ, A - B
Γ -A → B
, т. е.
Γ, A1 ∧ A2 ∧ ... ∧ An - A
Γ - A1 ∧ A2 ∧ ... ∧ An → A
.
Таким образом, если ├A1∧A2∧…∧An→A, то формула A1∧A2∧…
∧An→A≡1 (тавтология). Введем еще несколько определений. Пусть
/
/
/
/
A
=
=
1 A1 ∨ B, A
2 A2 ∨ B. Дизъюнкт A1 ∨ A2 называется резольвентой дизъюнктов A1 и A2 по переменной B и обозначается через
resB(A1, A2). Резольвентой дизъюнктов A1 и A2 называется резольвента по некоторой переменной и обозначается res(A1, A2). Если
дизъюнкты A1 и A2 не содержат противоположных переменных, то
резольвент у них не существует. Очевидно, что res A, A = 0.
Если res(A1, A2) существует, то {A1, A2}├res(A1, A2). Действитель/
/
/
/
но, пусть A
=
=
1 A1 ∨ B, A
2 A2 ∨ B, resB ( A1, A=
2 ) A1 ∨ A2 . Очевид/
/
/
/
но, что A1 ∨ B, A2 ∨ B - A1 ∨ A2 . Для доказательства достаточно
воспользоваться правилами удаления и введения дизъюнкции.
Пусть Γ={A1, A2,…, An} – множество дизъюнктов. Последовательность формул B1, B2,…, Bn называется резолютивным выводом из Γ,
если для каждой формулы Bi , i = 1,n, выполняется одно из условий:
1) Bi∈Γ;
2) ∃j, k<i, такие, что Bi=res(Bj, Bk).
Теорема 2.7. (теорема о полноте метода резолюций). Множество
дизъюнктов Γ противоречиво в том и только в том случае, когда
существует резолютивный вывод из Γ, заканчивающий нулем.
Применим эту теорему для проверки выводимости формулы A из
данного множества формул Γ={A1, A2,…, An}. Условие {A1, A2,…, An}├A
(
{
)
}
{
}
равносильно условию A1, A2 ,..., An , A -. Действительно, если {A1,
A2,…, An}├A, то A1∧A2∧…∧An→A≡1, тогда A1 ∧ A2 ∧ ... ∧ An ∨ A ≡ 0,
115
{
}
A1, A2 ,..., An , A -. Это равноA1 ∧ A2 ∧ ... ∧ An ∧ A=
=
0, т. е. Γ1
сильно условию, что B├, где B = A1 ∧ A2 ∧ ... ∧ An ∧ A.
Приведем формулу B к КНФ, т. е. к виду B=C1∧C2∧…∧Cm. Тогда,
если B├, то C1∧C2∧…∧Cm├. Таким образом, задача проверки выводимости {A1, A2,…, An}├A сводится к проверке противоречивости множества дизъюнктов Γ1={C1∧C2∧…∧Cm}, а это равносильно существованию резолютивного вывода нуля из Γ1.
Пример 3. Проверим методом резолюций выводимость
=
Γ A → B ∧ C, B → D, C → E, A → F - ( D ∧ E ) ∨ F . Выводимость данной формулы из Γ по этому методу следует из противоречивости множества Γ1= A → B ∧ C, B → D, C → E, A → F, DE ∨ F . Приведем все
формулы из Γ1 к КНФ: Γ1= { A ∨ BC, B ∨ D, C ∨ E, A ∨ F, F ∧ D ∨ E =
= A ∨ B A ∨ C , B ∨ D, C ∨ E, A ∨ F, F D ∨ E . Таким образом, множество дизъюнктов Γ1/ =A ∨ B, A ∨ C, B ∨ D, C ∨ E, A ∨ F, F, D ∨ E .
Построим возможный резолютивный вывод нуля из Γ1/ :
1) res A A ∨ B, A ∨ F =B ∨ F;
{
}
{
{(
)(
}
)
{
(
)
2) res A ( A ∨ C, A ∨ F ) =C ∨ F;
3) resB ( B ∨ D, B ∨ F ) =D ∨ F;
4) resC ( C ∨ F, C ∨ E ) =E ∨ F;
5) resE ( E ∨ F, D ∨ E ) =D ∨ F; ;
6) resD ( D ∨ F, D ∨ F ) = F ∨ F = F;
7) res ( F, F ) = 0.
(
)}
(
)}
}
На практике в общем случае метод резолюций не эффективен,
так как число переборов резольвент может быть очень большим,
оно экспоненциально зависит от числа дизъюнктов и содержащихся в них переменных. Метод успешно применяется к одному классу
дизъюнктов – хорновским дизъюнктам.
Дизъюнкт A называется хорновским, если он содержит не более одной позитивной переменной, например, A ∨ B ∨ C, A ∨ C, A, B. В общем случае хорновские дизъюнкты имеют вид A1 ∨ A2 ∨ ... ∨ An или
A1 ∨ A2 ∨ ... ∨ An ∨ B. Хорновский дизъюнкт вида A1 ∨ A2 ∨ ... ∨ An
называется негативным, а дизъюнкт A1 ∨ A2 ∨ ... ∨ An ∨ B – точным.
Дизъюнкт A называется унитарным позитивным дизъюнктом.
Если Γ – множество хорновских дизъюнктов, то его проверка на
противоречивость происходит следующим образом. В Γ выбирается
унитарный позитивный дизъюнкт B и дизъюнкт C∈ Γ, содержащий
B. Далее Γ заменяется на Γ\{C}∪{res(C, B)}. Этот процесс продолжа116
ется до тех пор, пока либо Γ не будет содержать 0, либо не найдется
дизъюнктов B и C указанного вида. В первом случае исходное множество Γ противоречиво, во втором непротиворечиво.
Пример 4. Проверим на противоречивость множество
{
}
=
{ A ∨ B,C ∨ D, B ∨ E, D ∨ F, E ∨ F, A ∨ C, A}.
Γ =A → B, C → D, B → E, D → F, EF, A → C, A =
Множество содержит только хорновские дизъюнкты. Применим
к нему описанный алгоритм по шагам:
(
) { A, B,C ∨ D, B ∨ E, D ∨ F, E ∨ F, A ∨ C};
(
) { A, B, E,C ∨ D, D ∨ F, E ∨ F, A ∨ C};
3) res=
E ( E, E ∨ F ) F, { A, B, E, F, C ∨ D, D ∨ F, A ∨ C};
resF ( F, D ∨ F ) D, { A, B, D, E, F, C ∨ D, A ∨ C};
4) =
=
res A ( A, A ∨ C ) C, { A, B, C, D, E, F, C ∨ D};
5)
D, { A, B, C, D, D, E, F};
6) resC ( C, C ∨ D ) =
7) res ( D, D ) = 0. Множество Γ противоречиво.
∨ B B,
1) res A A, A=
B, B ∨ E E,
2) resB =
§ 2.8. Проблемы аксиоматического исчисления высказываний
Исчисление высказываний как всякая аксиоматическая теория
для своего обоснования требует решения четырех проблем: разрешимости, непротиворечивости, полноты, независимости. Рассмотрим все их кратко. Первая проблема – проблема разрешимости
заключается в том, что должен существовать алгоритм, позволяющий для любой заданной формулы исчисления высказываний
определять, является ли она доказуемой или не является. Такой
алгоритм существует. Действительно, любая формула исчисления
высказываний может рассматриваться как формула алгебры высказываний, для которой эта проблема решается с помощью теорем
1.9–1.12 (см. § 1.12).
Вторая проблема – непротиворечивость исчисления высказываний. Формальную аксиоматическую теорию называют непротиворечивой, если не существует формулы A такой, что в исчислении
одновременно выводимы A и A.
Теорема 2.8. Исчисление высказываний непротиворечиво.
Действительно, по теореме 2.4 всякая выводимая формула тождественно истинна. Отрицание этой формулы не является тожде117
ственно истинной формулой. Следовательно, ни для какой формулы
A невозможно, чтобы одновременно ├A и - A . Третья проблема –
это проблема полноты. Она имеет два аспекта: полноту в узком и
в широком смысле.
Аксиоматическое исчисление называется полным в узком смысле, если добавление к списку его аксиом любой недоказуемой в исчислении формулы в качестве новой аксиомы приводит к противоречивому исчислению.
Теорема 2.9. Исчисление высказываний полно в узком смысле.
Доказательство. Пусть A – произвольная не выводимая формула (по теореме 2.7 в качестве A можно взять любую не тождественно
истинную формулу), а x1, x2,…, xn – список ее переменных. Так как
A – не выводимая формула, то существует набор значений α1, α2,…,
αn переменных такой, что
A ( x1, x2 ,..., xn )
α1,α2 ,...,αn
= 0.
Пусть B1, B2,…, Bn – любые тождественно истинные формулы,
зависящие от переменных x1, x2,…, xn. Рассмотрим следующий набор формул:
α
α
B1 1 , B2 2 ,..., Bnαn ,
1,
 Bi , α i =
α
где Bi i = 
и осуществим их подстановку в формулу A:
 Bi , α i =0,
B1α1 ,B2α2 ,...,Bnαn
(
α
)
α
=
A A B1 1 , B2 2 ,..., Bnαn ≡ 0.
∫
x1,x2 ,...,xn
Действительно, для любого набора σ1, σ2,…, σn значений переменных
Bi ( x1, x2 ,..., xn )
≡ 1,
σ1,σ2 ,...,σn
так как Bi – тождественно истинная формула. Тогда
αi
Bi
и
(
α
( x1, x2 ,..., xn )
α
)
σ1,σ2 ,...,σn
≡ αi
A B1 1 , B2 2 ,..., Bnαn = A ( α1, α2 ,..., αn ) = 0.
118
Таким образом, если
(
α
)
α
A B1 1 , B2 2 ,..., Bnαn ≡ 0,
)
(
α
α
то A B1 1 , B2 2 ,..., Bnαn ≡ 1, т. е. тождественно истинная формула и,
следовательно, по теореме 2.6 выводима в исчислении высказываний.
С другой стороны, если формулу A(x1, x2,…, xn) добавить к списку аксиом исчисления, то она станет выводимой в новом исчислении как аксиома. В новом исчислении формула
A
(
α
α
B1 1 , B2 2 ,..., Bnαn
)=
B1α1 ,B2α2 ,...,Bnαn
∫
A ( x1, x2 ,..., xn )
x1,x2 ,...,xn
получается в результате одновременной подстановки, т. е. также
будет выводимой. Следовательно, новое исчисление высказываний
будет противоречивым, так как в нем -A и - A .
Аксиоматическое исчисление называется полным в широком
смысле, если любая тождественно истинная формула в нем доказуема. Проблема полноты в широком смысле решается также положительно. Справедливость этого факта следует из теоремы 2.6.
Наконец, последняя проблема – проблема независимости заключается в независимости системы ее аксиом, то есть в не выводимости любой из них из остальных аксиом по правилам вывода данной
системы. Оказывается, что система аксиом исчисления высказываний независима. Этот факт довольно легко проверяется непосредственно, если явным образом определить множество, из которого
принимают значения переменные x, y, z.
Теорема 2.10. Система аксиом исчисления высказываний независима.
Доказательство независимости всех одиннадцати аксиом исчисления высказываний довольно громоздко и основано на некоторых
интерпретациях переменных и логических операций исчисления.
Независимость самых простых аксиом можно доказать по следующей схеме. Допускается, что переменные в аксиомах могут принимать только два значения 1 и 0. Все логические операции , ∧, ∨, →,
кроме одной, определяются так же, как и в алгебре высказываний,
причем 1 играет роль истины, а 0 – лжи. Одну же из логических
операций специально определяют так, чтобы та аксиома, в которую эта операция входит и независимость которой доказывается,
119
не являлась тождественно равной 1. При такой интерпретации все
аксиомы, кроме исследуемой, принимают значение 1. Все формулы,
выводимые из совокупности аксиом, кроме исследуемой, так же
будут принимать значений 1 при всех значениях, входящих в них
параметров.
Ясно, что если такая интерпретация возможна, то исследуемая
аксиома не зависит от остальных, так как, если бы она была выводима из остальных, то она, как и все формулы, выводимые из совокупности аксиом, кроме исследуемой, принимала бы только значение, равное 1.
§ 2.9. Практическое занятие № 6.
Эквивалентность формул исчисления высказываний
и теорема о выводимости.
Алгоритмы Квайна, редукций и резолюций
2.9.1. Вывести следующие секвенции:
а) ├A∧B↔B∧A,
б) ├A∨B↔B∨A.
2.9.2. Доказать, что в исчислении высказываний выводимы секвенции:
а) ├A↔A,
б) {A↔B}├(C→A)↔(C→B).
2.9.3. Доказать, что следующие формулы выводимы в исчислении высказываний:
а) - A ∨ B ↔ A ∧ B,
б) A ↔ A.
2.9.4. Используя свойство монотонного возрастания или убывания функций, доказать выводимость следующих формул:
а) A =x → ( x → ( x → y ∧ x ) ),
б) A = x ∧ y → y → y.
2.9.5. Используя свойство монотонного возрастания дизъюнкции
по обеим переменным, доказать выводимость формулы
A=
( x ∧ ( x ∧ x → y ∧ y) → z) ∨ x ∨ z.
2.9.6. Дана формула A = x ∧ y ∨ ( x → y ) ∧ x и наборы значений
переменных
а) (1,1) ,
120
б) ( 0,0 ) .
Записать вывод формул A или A из соответствующей совокупности формул.
2.9.7. Формула A=x1∨x2→x3 задана на наборах
а) ( 0,0,1) ,
б) (1,0,0 ) .
Вывести A или A из соответствующей совокупности формул.
2.9.8. Формула A=(x→y)∧(y→z)→(z→x) задана на наборах
а) ( 0,0,1) ,
б) (1,1,1) .
Записать вывод формулы A или ее отрицания из множеств
Γ1 =x, y, z и Γ2={x, y, z}.
2.9.9. Дана формула A = x1 ∨ x2 → x3 и наборы значений переменных
а) (1,1,1) ,
б) (1,0,1) ,
в) ( 0,1,0 ) .
Записать вывод A или A из соответствующей совокупности формул.
2.9.10. Формула A=x→(x→y) задана на наборах
а) (1,0 ) ,
б) ( 0,1) .
Вывести формулу A или ее отрицания из соответствующих множеств Γ1 =x, y и Γ2 =x, y .
2.9.11. С помощью алгоритма Квайна проверить тождественную
истинность следующих формул:
а) (A→B)→(B→A);
б) ( A ∨ B ) → A ∧ B ∨ B ∧ A ;
{
}
{ }
{ }
((
))
) (
в) ( A ∨ B ) → ( C ↔ B );
г) A ∨ B → ( C ↔ A ). .
2.9.12. Используя алгоритм редукции, проверить тождественную истинность следующих формул:
а) (A∧B→C)→(A→(B→C));
(
(
(
))
)
б) A1 → A2 → ... → An -1 → An → B ∨ B ... ;
(
)
в) ( A → B ) ∧ A → B → A.
2.9.13. С помощью алгоритма Квайна и алгоритма редукции доказать тождественную истинность аксиом исчисления высказываний.
121
2.9.14. Методом резолюций проверить следующие соотношения:
{
}
б) { A ∨ C → B, C → A ∨ B, BC → A ∨ B} - B → C ;
в) {C, A ∨ B} - ( B → C ) → A .
а) A ∨ C, C → B, B → A - A → ( B → C );
2.9.15. Проверить на противоречивость множество хорновских
дизъюнктов:
{
б) { A ∧ B → C, A, B, C};
в) {C ∨ D ∨ E, E ∨ F, C, D, A, F}.
}
а) A ∨ B ∨ C ∨ D, B, A ∨ B ∨ C, C, B ∨ D ;
122
3. ЛОГИКА ПРЕДИКАТОВ
§ 3.1. Определение предикатов и логические операции над ними
В исчислении высказываний изучались логические отношения,
составленные из простых высказываний и принимающие только
два значения 0 или 1 с помощью операций ∧, ∨, , →, ↔ . Однако для задания более сложных логических рассуждений исчисления высказываний недостаточно. В любой k-значной логике можно
определить наличие того или иного свойства на конечном множестве элементов, в случае же бесконечных множеств необходимо введение функций, аргументы которых пробегают бесконечное число
значений на множестве M.
Все высказывания, используемые до сих пор, рассматривались
как нераздельные целые и только с точки зрения их истинности
или ложности. Структура высказываний и их содержание игнорировались. Однако, очевидно, что на практике используются заключения, зависящие как от структуры, так и от содержания используемых в них высказываний.
Не всякие высказывания и не любые логические рассуждения
могут быть описаны на языке исчисления высказываний. В некоторых случаях высказывания касаются свойств объектов или отношений между объектами. Кроме того, необходимо иметь возможность
утверждать, что любые или какие-то объекты обладают определенными свойствами или находятся в некоторых отношениях.
Поэтому следует расширять логику высказываний и построить
такую логическую систему, в рамках которой можно было бы исследовать структуру и содержание тех высказываний, которые в рамках алгебры высказываний считались бы элементарными. Такой
логической системой является логика предикатов, а алгебра высказываний – ее составной частью. Помимо элементарных высказываний в логике предикатов рассматриваются высказывания, отнесенные к предмету, т. е. высказывания расчленяются на субъект
и предикат. Субъект – это то, о чем что-то утверждается, предикат –
это то, что утверждается о субъекте. Логика предикатов – это расширение логики высказываний за счет использования предикатов
в роли логических функций.
Одноместным предикатом P(x) называется произвольная функция переменного x, определенная на множестве M и принимающая
значения из множества {0, 1}.
123
Множество M, на котором определен предикат P(x), называется
предметной областью или областью определения предиката. Множество всех x∈M, при которых P(x)=1, называется множеством истинности предиката P(x): IP={x/x∈M, P(x)=1} P ( x ) .
Предикат P(x), определенный на множестве M, называется тождественно истинным, если IP=M, и тождественно ложным, если
IP=∅. Булева функция однородна в том смысле, что для нее область
значений функции и область изменений аргумента по типу одна и
та же – логическая (либо истина, либо ложь). Для предикатов же
область значений функции – логическая, а область изменения аргументов – предметная. Обобщение понятия одноместный предикат –
понятие многоместного, с помощью которого выражаются отношения между предметами.
n-местным предикатом называется всякая функция n переменных Q(x1, x2,…, xn), определенная на множестве M=M1×M2×…×Mn
(декартово произведение ) и принимающая на этом множестве одно
из двух значений: «истина» или «ложь», т. е. n-местный предикат
Q(x1, x2,…, xn) есть функция Q: M→B, где M – произвольное множество, а B={0, 1}.
Высказывания можно считать нульместными предикатами.
Говорят, что предикат P(x) является следствием предиката
Q(x) (Q(x)→P(x)), если IQ⊂IP, и предикаты P(x) и Q(x) равносильны
(P(x)↔Q(x)), если IQ=IP.
Так как предикаты принимают два значения 0 и 1, то к ним применимы все операции логики высказываний.
Конъюнкцией двух предикатов P(x) и Q(x) называется новый
предикат P(x)∧Q(x), который принимает значение «истина» при тех
и только тех значениях x∈M, при которых каждый из предикатов
принимает значение «истина», и принимает значение «ложь» во
всех остальных случаях. Очевидно, что область истинности предиката P(x)∧Q(x) является IQ∩IP.
Дизъюнкцией двух предикатов P(x) и Q(x) называется новый
предикат P(x)∨Q(x), который принимает значение «ложь» при тех
и только тех значениях x∈M, при которых каждый из предикатов
принимает значение «ложь», и принимает значение «истина» во
всех остальных случаях. Ясно, что IQ∪IP.
Отрицанием предиката P(x) называется новый предикат P ( x ),
который принимает значение «истина» при всех значения x∈M, при
которых P(x) принимает значение «ложь» и наоборот. Здесь очевидно, IP = M \ IP .
124
Импликацией P(x) и Q(x) называется новый предикат P(x)→Q(x),
который является ложным при тех и только тех значениях x∈M,
при которых одновременно P(x) принимает значение «истина», а
Q(x) – значение «ложь», и принимает истинное значение во всех
остальных случаях.
Пример 1.
а) Луна есть спутник Венеры – ложное высказывание, не являющееся предикатом, так как в нем нет аргумента – переменного x;
б) 5 + 5 70 - 6 10 > 150 – то же самое;
в) x2 + 3x + 2 =
0 – предикат. Здесь x∈M=R, IP={–2, –1}.
Пример 2. На множестве M={3, 4, 5, 6, 7, 8} заданы два предиката
P(x): «x – простое число», Q(x): «x – нечетное число». Составить их
таблицы истинности (см. табл. 3.1.1). Равносильны ли предикаты
P(x) и Q(x) на множествах L={2, 3, 4, 5, 6, 7, 8}, K={3, 4, 5, 6, 7, 8, 9}?
Таблица 3.1.1
x
3
4
5
6
7
8
P(x)
1
0
1
0
1
0
Q(x)
1
0
1
0
1
0
Очевидно, IP={3, 5, 7}, IQ={3, 5, 7}. Таким образом, на множестве
M P(x)=Q(x). На L и K предикаты не равносильны, ибо на L, например, 2 – простое число и четное, а на K 9 – нечетное, но составное
число.
Пример 3. Исследовать, является ли один из двух данных предикатов P(x, y) и Q(x, y) следствием другого, если
P ( x, y ) =
x ⋅ y = 15 , Q ( x, y ) =
xy = 15 ? Найдем области определения обоих предикатов и изобразим их в виде рис. 3.1 и 3.2.
{
}
{
}
IP={ y=225/x/x>0, y>0}
IQ ={ y=225/x/(x>0, y>0)∨(x<0, y<0)}
Рис. 3.1
Рис. 3.2
125
( x, y ) ∈ R 2

MP = 
x > 0, y > 0.,


( x, y ) ∈ R 2

MQ = 
.
( x > 0, y > 0 ) ∨ ( x < 0, y < 0 ).

Области определения обоих предикатов на рисунках заштрихованы. Следовательно, IP ⊂ IQ, то есть P(x, y) → Q(x, y) и предикат
Q(x, y) является следствием предиката P(x, y).
Пример 4. Найти область истинности предиката x–y2 ≥ 0 и изобразить на
плоскости.
x≥y2
Неравенство, составляющее исходный предикат, ограничивает часть плоскости, заключенной между ветвями
параболы x=y2 (рис. 3.3).
Рис. 3.3
Пример 5. На множестве M={1, 2,
3,…, 20} заданы предикаты A(x): «x не
делится на 5», B(x): «x – четное число», C(x): «x – число простое»,
D(x): «x кратно трем». Найти множества истинности предикатов
A(x)∧B(x)∧D(x), A(x)∨B(x), D ( x ) → C ( x ).
1) A(x)∧B(x)∧D(x)={x не делится на 5 и x – четное число и x кратно
трем}={x не делится на 5 и x делится на 6}. Действительно, IP={6, 12,
18};
2) A(x)∨B(x)={x не делится на 5 или x – четное число}. IP=M\{5, 15};
3) D ( x ) → C ( x ) = D ( x ) ∨ C ( x ) = {x не кратно трем или x – непростое число}. Здесь рассуждения сложнее, однако, если перебрать все
элементы множества M, то легко установить, что IP=M\{3}.
§ 3.2. Кванторные операции
Функциональная природа предиката влечет за собой введение
еще одного понятия – квантора. Кванторные операции можно рассматривать как обобщение операций конъюнкции и дизъюнкции
в случае бесконечных областей. Рассмотрим это подробнее. Пусть
дан P(x) – одноместный предикат. Если a∈M, то P(a) – высказывание. Здесь как в обычной функции одного переменного при фиксации аргумента функция превращается в число. В логике предикатов существуют еще две особые операции, которые превращают од126
номестный предикат в высказывание, то есть связывают аргумент
предиката.
1. Квантор всеобщности ∀.
Пусть P(x) – предикат, x∈M. Под выражением ∀xP(x) понимают
высказывание, истинное, если P(x) истинно для каждого элемента
x∈M и ложное в противном случае. Символ ∀ называется квантором всеобщности («All» – всякий). Соответствующее ему словесное
выражение звучит: «для всякого x P(x) истинно». Переменная x
в предикате P(x) называется свободной (x любое из M), в высказывании ∀xP(x) переменную x называют связанной переменной.
Рассмотрим предикат P(x), определенный на множестве M={a1,
a2,…, an}, содержащем конечное число элементов. Если P(x) является тождественно истинным, то истинными будут высказывания
P(a1), P(a2),…, P(an). При этом истинными будут высказывание
∀xP(x) и конъюнкция P(a1)∧ P(a2)∧…∧ P(an). Если же хотя бы для
одного элемента ak∈M P(ak)=0, то ложными будут высказывание
∀xP(x) и конъюнкция P(a1)∧P(a2)∧…∧P(an). Следовательно, справедлива равносильность ∀xP(x)≡P(a1)∧P(a2)∧…∧P(an).
2. Квантор существования ∃.
Пусть P(x) – предикат, x∈M. Под выражением ∃xP(x) понимают
высказывание, истинное, если существует элемент x∈M, для которого P(x) истинно, и ложное в противном случае. Символ ∃ называется квантором существования («Exist» – существовать). Словесное
выражение звучит так: «существует x, при котором P(x) истинно».
Высказывание ∃xP(x) уже не зависит от x, переменная x связана
квантором ∃.
Аналогичные рассуждения, как и в предыдущем случае, позволяют установить равносильность ∃xP(x)≡P(a1)∨P(a2)∨…∨ P(an). Ясно,
что высказывание ∀xP(x) истинно только в том единственном случае, когда P(x) – тождественно истинный предикат, а высказывание
∃xP(x) ложно только тогда, когда P(x) – тождественно ложный предикат.
Кванторные операции применяются и к многоместным предикатам. Применение кванторной операции к предикату P(x, y) по
переменной x ставит в соответствие двухместному предикату P(x, y)
одноместный предикат ∀xP(x, y) или ∃xP(x, y), зависящий от y и не
зависящий от x.
К двухместному предикату можно применить кванторные операции по обеим переменным. Тогда получим восемь высказываний:
1) ∀x∀yP(x, y),
127
2) ∃x∀yP(x, y),
3) ∀x∃yP(x, y),
4) ∃x∃yP(x, y),
5) ∀y∀xP(x, y),
6) ∃y∀xP(x, y),
7) ∀y∃xP(x, y),
8) ∃y∃xP(x, y).
В общем случае изменение порядка следования кванторов изменяет смысл высказывания и его логическое значение, то есть, например, высказывания ∀x∀yP(x, y) и ∀y∀xP(x, y) различны.
Пусть предикат M(x, y) означает, что x является матерью для
y, тогда ∀y∃xM(x, y) означает, что у каждого человека есть мать –
истинное утверждение. ∃x∀yM(x, y) означает, что существует мать
всех людей. Истинность этого утверждения зависит от множества
значений, которые могут принимать y: если это множество братьев
и сестер, то оно истинно, в противном случае оно ложно. Таким образом, перестановка кванторов всеобщности и существования может изменить сам смысл и значение выражения.
Квантор существования ∃ можно выразить через квантор все-
∀x A ( x ) (см.
общности применительно к предикату A(x), ∃xA ( x ) =
§. 3.5).
Квантор всеобщности также можно выразить с помощью кванто∃yP ( x, y ).
ра существования (см. §. 3.5) ∀yP ( x, y ) =
Пример 1. Установить истинность или ложность высказывания
∃x(x∈{2, 5}→(x2–6x+8=0)).
x2 - 6x + 8 = 0, x1,2 = 3 ± 9 - 8 = 3 ± 1, x1 = 2, x2 = 4.
Исходное высказывание преобразуем к виду
(
(
))
(
(
))
∃x x ∈ {2,5} → x2 - 6x + 8= 0 ≡ ∃x x ∈ {2,5} ∨ x2 - 6x + 8= 0 ≡
≡ ∃x ( x ∉ {2,5} ∨ x ∈ {2,4}) ≡ ∃x ( x ∈ {2,4}).
Исходное высказывание истинно.
Пример 2. Установить истинность или ложность высказывания
∀x(x2–5x+6=0). Действуем аналогично:
x2 - 5x + 6 = 0 x1,2 =
128
5
25 24 5 1
±
= ± , x1 = 2, x2 = 3.
2
4
4 2 2
Но (x2–5x+6=0)≡(x<2∨x>3), поэтому любое x не может быть, исходное высказывание ложно.
§ 3.3. Формулы логики предикатов
В логике предикатов пользуются следующей символикой:
1) символы p0, q1, r2,…– переменные высказывания;
2) предметные переменные и предметные константы x0, y1, z2∈M;
n
n
3) Pi i , ni ∈ N – предикатные символы, Pi i – ni-местный предикатный символ;
n
n
4) fj j , nj ∈ N – функциональные символы, fj j – nj-местный
функциональный символ;
5) символы логических операций ∧, ∨, →, , ↔;
6) символы кванторных операций ∀, ∃;
7) вспомогательные символы: скобки, запятые.
Множество предикатных букв вместе с множеством функциональных букв и констант называются сигнатурой языка данной теории. Термом сигнатуры языка логики предикатов являются:
1) Предметные переменные и предметные константы;
2) Если fn–n-местный функциональный символ и t1, t2,…, tn – термы, то fn(t1, t2,…, tn) – терм.
Атомной (или атомарной) формулой сигнатуры называется выражение Pn(t1, t2,…, tn), где Pn –n-местный предикатный символ, а t1,
t2,…, tn – термы.
Формулой логики предикатов называется всякое выражение, содержащее символику 1–7 и удовлетворяющее следующим требованиям:
а) атомарная формула есть формула;
б) если A и B – формулы, то A∧B, A∨B, A→B – тоже формулы при
условии, что одна и та же предметная переменная не является в A
свободной, а в B связанной или наоборот;
в) если A – формула, то и A – тоже формула;
г) если A(x) – формула, то ∀xA(x) и ∃xA(x) являются формулами,
причем если в A(x) x – свободная переменная, то в ∀xA(x) и ∃xA(x)
будет уже связанной переменной. Все предметные переменные атомарных формул свободные, связанных переменных нет. Литеральными называются формулы A или A, где A – атомарная формула.
Из этого определения ясно, что всякая формула алгебры высказываний является формулой логики предикатов. Если F- символ
предиката, а x1, x2,…, xn – символы предметных переменных, не
обязательно различные, то F(x1, x2,…, xn) – формула. Пусть A – фор129
мула, содержащая свободную переменную x. Тогда ∀xA и ∃xA тоже
формулы. В ∀xA формула A называется областью действия квантора
∀, в ∃xA областью действия квантора ∃. Формула A называется замкнутой формулой, если всякое вхождение переменной в A является
связанным.
Подслово формулы A, которое само является формулой, называется подформулой формулы A.
Значение формулы определено лишь тогда, когда задана какая-нибудь интерпретация входящих в нее символов. Под интерпретацией понимается система M={M, f}, состоящая из непустого
множества M (область определения) и соответствия (функции) f,
сопоставляющего каждому предикатному символу P определенный n-местный предикат P ( ⋅,⋅,...,⋅). При заданной интерпретации
считают, что предметные переменные пробегают множество M, а
символы ∧, ∨, →, , ↔, ∀, ∃ имеют свой обычный смысл. Для данной
интерпретации каждая формула без свободных переменных представляет собой высказывание, которое истинно или ложно, а всякая формула со свободными переменными выражает некоторый
предикат на множестве M, который истинен при одних значениях
переменных из этого множества и ложен при других. О логическом
значении формулы логики предикатов можно говорить лишь тогда,
когда задано множество M, на котором определены входящие в эту
формулу предикаты. Логическое значение формулы логики предикатов зависит от значений трех видов переменных: значений переменных высказываний, входящих в формулу, значений свободных
предметных переменных из множества M, то есть x, y,…, и значений
предикатных переменных P ( ⋅), Q ( ⋅,⋅,...,⋅). Если фиксировать значения каждого из трех видов этих переменных, формула алгебры логики предикатов становится высказыванием, имеющим истинное
или ложное значение.
Истинность или ложность формул логики предикатов может
быть проверена путем приписывания смысла языковым конструкциям, т. е. их интерпретации. Формула в зависимости от интерпретации может быть истинной или ложной, но может от нее и не
зависеть. Для того чтобы определить интерпретацию, необходимо
задать множество значений, которые могут принимать свободные
переменные, операции, приписываемые функциональным символам, отношения для предикатных символов.
Пример 1. Является ли данное выражение формулой логики предикатов?
130
а) (P(x)↔Q(x))∨∃y(∀yR(y)) не является формулой, так как квантор
существования употреблен для уже связанной квантором всеобщности переменной y;
б) P→∀xQ(x, y) – формула алгебры предикатов, x – связанное переменное, y – свободное;
в) ∀xP(x)∨∀yQ(x, y) не является формулой, ибо в первом логическом слагаемом x – связанная переменная, а во втором слагаемом
свободная.
Пример 2. Даны утверждения A(n): «число n делится на 3», B(n):
«число n делится на 2», C(n): «число n делится на 4», D(n): «число n
делится на 6», E(n): «число n делится на 12». Указать, какие из следующих утверждений истинны, а какие ложны.
1) ∀n(A(n)∧B(n)→E(n)). Рассмотрим составляющие части этой
формулы. A(n)∧B(n): «число n делится на 6», A(n)∧B(n)→E(n): «если
число n делится на 6, то оно делится на 12». При n=6 импликация
ложна, следовательно, исходная формула в общем ложна.
2) ∃n B ( n ) ∧ C ( n ) → D ( n ) . Поступаем аналогично B(n)∧C(n):
(
)
«число делится на 4», B ( n ) ∧ C ( n ) → D ( n ) : «если число делится на
4, то оно не делится на 6». Такое может быть, например, при n=16.
Следовательно, B ( n ) ∧ C ( n ) → D ( n ) – не тождественно ложная фор-
(
)
мула, а тогда ∃n B ( n ) ∧ C ( n ) → D ( n ) – истинная формула алгебры
предикатов.
Пример 3. Большая теорема Ферма1 утверждает, что для любого целого n>2 не существует натуральных чисел x, y, z, удовлетворяющих равенству xn+yn=zn. Если этому равенству поставить
в соответствие предикат P(x, y, z, n), истинный тогда и только тогда, когда оно выполняется, а через N(x) обозначить предикат{x –
натуральное число}, то теорема Ферма формулируется так
∀x∀y∀z∀n N ( x ) ∧ N ( y ) ∧ N ( z ) ∧ N ( n ) ∧ ( n > 2 ) → P ( x, y, z,n ) .
Пример 4. ∃xP(x, y)→∀xP(x, y) – формула , содержащая свободную переменную y. Пусть P(x, y) интерпретируется как x≥y на M=[a,
b]. Если b>y>a, то посылка истинна, а заключение ложно и формула
ложна. Если взять y=a, то и левая и правая части истинны и вся
формула истинна, следовательно, формула выполнима в данной интерпретации. Если P(x, y) интерпретируется как x>y, M=(a, b), то
левая часть будет всегда истинна (при любом y), а правая – всегда
(
1
)
Пьер Ферма (1601–1665) – французский математик.
131
ложна, следовательно, формула тождественно ложна в данной интерпретации.
Пример 5. Формула ∀x P ( x ) ∨ P ( x ) содержит только связанную переменную x. Эта формула является тождественно истинным высказыванием в любой интерпретации. Напротив, формула
∃x P ( x ) ∧ P ( x ) – тождественно ложная формула в любой интерпретации.
(
(
)
)
§ 3.4. Практическое занятие № 7.
Логические и кванторные операции над предикатами
3.4.1. Найти области истинности следующих предикатов:
x2 + 3x + 2
а)
= 0,
x2 + 4 x + 3
x2 - 13x + 40 ≥ 0,
б) 
2
 2x + x + 30 < 0,
в) sinx=siny,
г) lgx=lgy.
3.4.2. Изобразить на диаграммах Эйлера – Венна области истинности для следующих предикатов:
а) P ( x ) ↔ Q ( x ),
б) P ( x ) → ( Q ( x ) ∨ Q ( x ) ),
в) P ( x ) ∧ Q ( x ) → R ( x ).
3.4.3. Записать предикаты, полученные в результате логических
операций над предикатами P(x), Q(x) и R(x), области истинности которых заштрихованы на рис. 3.4–3.7.
3.4.4. Установить, какие из следующих высказываний истинны,
а какие ложны, при условии, что область определения предикатов
M совпадает с R:
а) ∀x((x2–6x+8≥0)∨(x2–6x+8<0));
б) ∃x(x2+x+0.5=0);
в) ∀x(x2–5x+6≥0);
г) ∃x((x∈{2, 5})→(x2–6x+8=0)).
3.4.5. Пусть f1-одноместный, g2-двухместный, h3-трехместный
функциональные символы. Являются ли термами следующие выражения:
а) f1(g2(x0, x1));
б) g2(f1(x2), h3(x1, x0, x2));
132
IR
IQ
IP
IQ
IP
Рис. 3.4
IQ
Рис. 3.5
IR
IP
IQ
IP
Рис. 3.6
Рис. 3.7
в) f1(g2(x0), h3(x0, x1, x2))?
3.4.6. Пусть f1, g2, h3 те же, что и в предыдущей задаче, P1 – одноместный, Q3 – трехместный предикатные символы. Являются ли
формулами следующие выражения:
а) P1(x0)→∀x1(Q3(x0, x1, x2)∧P1(g2(x0, x1)));
б) Q3(P1(x0), f1(x1), f1(x2));
в) Q3(x0, f1(x1), h3(x1, x2, x3)).
3.4.7. Какие вхождения переменных являются свободными, а какие связанными в следующих формулах:
а) ∀x0(P(x0, x1)→∀x1Q(x1));
б) ∃x2 Q ( x2 , x2 ) ∧ R ( f ( x1, x3 ) ).
3.4.8. Пусть S3(x, y, z)=(x+y=z), P3(x, y, z)=(x⋅y=z), x, y, z∈N. Записать формулу с одной свободной переменной x , истинную тогда и
только тогда, когда:
а) x=0;
б) x=2;
в) x – четно.
3.4.9. При исходных данных задачи 3.4.8 записать формулу, выражающую:
а) коммутативность сложения;
б) ассоциативность сложения;
в) бесконечность множества простых чисел.
3.4.10. Привести примеры таких значений a, для которых данное
высказывание:
133
1) истинно,
2) ложно (M=R).
а) ∃x<0(x2+ax+a=0);
б) ∃x∈[a, a+1](x2–x–2<0).
Записать, введя необходимые предикаты, в виде формулы логики предикатов следующие рассуждения:
3.4.11. Если всякий разумный философ – циник, и только женщины являются разумными философами, то тогда, если существуют разумные философы, некоторые из женщин – циники.
3.4.12. Все политики – лицедеи. Некоторые лицедеи – лицемеры.
Значит, некоторые политики – лицемеры.
3.4.13. Глупец был бы способен на это. Я на это не способен. Значит я не глупец.
3.4.14. Друг моего друга – мой друг.
3.4.15. Каждый любит сам себя. Значит, кого-то кто-нибудь любит.
§ 3.5. Равносильные формулы
логики предикатов
Две формулы логики предикатов A и B равносильны в данной
интерпретации, если на любом наборе значений свободных переменных они принимают одинаковые значения, то есть формулы выражают в данной интерпретации один и тот же предикат.
Две формулы логики предикатов A и B называются равносильными на области M, если они принимают одинаковые логические
значения при всех входящих в них переменных, отнесенных к области M.
Две формулы логики предикатов называются равносильными,
если они равносильны на всякой области.
Все равносильности алгебры высказываний будут верны, если
в них вместо переменных высказываний подставить формулы алгебры предикатов. Кроме того, имеются равносильности самой логики предикатов, связанные с кванторами. Пусть A(x), B(x) – переменные предикаты, а C – переменное высказывание. Тогда имеют место
следующие формулы:
1) ∀xA ( x ) ≡ ∃x A ( x ), читается: «высказывание «не верно, что для
любого x A(x) истинно» эквивалентно высказыванию «найдется x,
для которого A(x) ложно»;
2) ∃xA ( x ) ≡ ∀x A ( x );
134
3) ∀xA ( x ) ≡ ∃x A ( x );
4) ∃xA ( x ) ≡ ∀x A ( x );
5) ∀xA(x)∧∀xB(x)≡∀x(A(x)∧B(x)), то есть квантор всеобщности
можно вносить и выносить за скобки в конъюнкции;
6) C ∧ ∀xB ( x ) ≡ ∀x ( C ∧ B ( x ) ), 

7) C ∨ ∀xB ( x ) ≡ ∀x ( C ∨ B ( x ) ), 
 – постоянное высказывание
8) C → ∀xB ( x ) ≡ ∀x ( C → B ( x ) ),

9) ∀x ( B ( x ) → C ) ≡ ∀xB ( x ) → C 
можно вносить под знак квантора всеобщности и выносить из-под
знака этого квантора в конъюнкции, дизъюнкции и импликации;
10) ∃xA(x)∨∃xB(x)≡∃x(A(x)∨B(x)) – квантор существования можно
вносить и выносить за скобки в дизъюнкции;
C ∧ ∃xB ( x ) ≡ ∃x ( C ∧ B ( x ) ), 

12) C ∨ ∃xB ( x ) ≡ ∃x ( C ∨ B ( x ) ), 
 – постоянное высказывание
13) C → ∃xB ( x ) ≡ ∃x ( C → B ( x ) ),

14) ∃x ( B ( x ) → C ) ≡ ∃xB ( x ) → C 
можно выносить и вносить под знак квантора существования и выносить из-под этого квантора в конъюнкции, дизъюнкции и импликации;
15) ∃xA(x)∧∃xB(x)≡∃x∃y(A(x)∧B(y));
16) ∀xA(x)∨∀xB(x)≡∀x∀y(A(x)∨B(y)).
Все приведенные равносильности могут быть доказаны. Первые
две формулы называются правилами переноса кванторов через отрицание. Докажем, например, первую из них.
Пусть x1, x2,…, xn – множество (может и пустое) всех свободных
переменных формулы A, отличных от x. Пусть M={M, f} – произвольная интерпретация. Рассмотрим произвольный набор значений
свободных переменных a1, a2,…, an∈M и исследуем, какие логиче11)
ские значения при этом наборе примут формулы ∀xA ( x ) и ∃x A ( x ).
Здесь возможны два случая:
1) для любого элемента a ∈ M A ( x )
a,a1,a2 ,...,an
2) для некоторого элемента a0 ∈ M A ( x )
=
1.
a0 ,a1,a2 ,...,an
=
0.
135
В первом случае для любого элемента
a ∈ M A (x)
a,a1,a2 ,...,an
=
0.
Отсюда по определению
∃x A ( x )
a1,a2 ,...,an
=
0.
Но с другой стороны
∀x A ( x )
a1,a2 ,...,an
=
1,
так как
∀a ∈ M A ( x )
отсюда ∀xA ( x )
a,a1,a2 ,...,an
=
1,
=
0, то есть ∀xA ( x ) ≡ ∃x A ( x ).
a1,a2 ,...,an
Во втором случае для
a0 ∈ M A ( x )
a0 ,a1,a2 ,...,an
=
1,
отсюда
∃x A ( x )
a1,a2 ,...,an
=
1.
С другой стороны, в этом случае
∀x A ( x )
a1,a2 ,...,an
=
0.
Следовательно,
∀xA ( x )
a1,a2 ,...,an
=
1.
Таким образом, исходная равносильность полностью доказана.
Обратим внимание на формулы 5, 10, 15 и 16. Видно, что, например, ∃xA(x)∧∃xB(x)≠∃x(A(x)∧B(x)). Для квантора всеобщности такая формула имеется. Здесь же ∃xA(x)∧∃xB(x)≡∃xA(x)∧∃yB
(y)≡∃x(A(x)∧∃yB(y))≡∃x∃y(A(x)∧B(y)) – формула 15. Аналогично,
136
∀xA(x)∨∀xB(x)≠∀x(A(x)∨B(x)). Тут так же получим ∀xA(x)∨∀xB(x)≡∀
xA(x)∨∀yB(y)≡∀x(A(x)∨∀yB(y))≡∀x∀y(A(x)∨B(y)). В заключение упомянем правило переименования связанных переменных. Очевидно,
заменяя связанную переменную формулы A другой переменной,
не входящей в эту формулу, в кванторе и всюду в области действия
квантора получаем формулу, равносильную A.
§ 3.6. Предваренная нормальная форма.
Общезначимость и выполнимость формул логики предикатов
Формула логики предикатов имеет нормальную форму, если
она содержит только операции конъюнкции, дизъюнкции и кванторные операции, а операция отрицания отнесена к элементарным
формулам.
Используя равносильности алгебры высказываний и логики
предикатов, каждую формулу логики предикатов можно привести
к нормальной форме.
Теорема 3.1. Для любой формулы существует равносильная ей
нормальная форма, причем множества свободных и связанных
переменных этих формул совпадают.
Среди нормальных форм особое значение имеют предваренные
(или пренексные) нормальные формы. Предваренной нормальной
формой формулы логики предикатов называется такая нормальная
форма, в которой либо полностью отсутствуют кванторные операции, либо они используются после всех операций алгебры логики.
Эта форма имеет вид (σx1)(σx2)…(σxn)A(x1, x2,…, xm), n≤m, где под
символом σxi понимается один из кванторов ∀xi или ∃xi, а формула
A кванторов не содержит.
Если все σi равны ∀, то эта форма называется ∀- формулой (или
универсальной формулой); если же все σi равны ∃, то такая форма
называется ∃- формулой. Если существует i (0≤i≤n), такое, что σ1,
σ2,…, σi суть ∃, а σi+1,…, σn суть ∀, то такая форма называется скулемовской1 нормальной формой (или ∃∀ – формулой).
Теорема 3.2. Всякая формула логики предикатов может быть
приведена к равносильной ей предваренной нормальной форме.
Обратим внимание только на некоторые особенности доказательства, имеющие практическое значение. Если формула имеет вид A,
то с помощью равносильностей ∀xA ( x ) ≡ ∃x A ( x ) и ∃xA ( x ) ≡ ∀x A ( x )
1
Альберт Торальф Скулем (1887–1963) – норвежский математик.
137
отрицание вводится под знак кванторов. Если формула имеет вид
A1∨A2 или A1∧A2, тогда последовательность действий может быть
такова. Сначала переименовываются в A2 связанные предметные
переменные так, чтобы в A1 и A2 все связанные переменные были
различны. Получаем
A1 =
( σ x1 )( σ x2 )...( σ xm ) α1 ( x1, x2 ,..., xn ), m ≤ n,
(
)
A2 =
( σ y1 )( σ y2 )... σ y p α2 ( y1, y2 ,..., yn ), p ≤ n.
Далее воспользуемся равносильностями C∧∀xB(x)≡∀x(C∧B(x)),
C∨∀xB(x)≡∀x(C∨B(x)), C∧∃xB(x)≡∃x(C∧B(x)) и C∨∃xB(x)≡∃x(C∨B(x)).
Перепишем, например, формулу A1∨A2 следующим образом:
(
A1 ∨ A2 = ( σ x1 )( σ x2 )...( σ xm ) α1 ( x1, x2 ,..., xn ) ∨ ( σ y1 )( σ y2 )...
)
(
)
... σ y p α2 ( y1, y2 ,..., yn )  =
σ x σ x ... σ x
σ y σ y ... σ y p ×
 ( 1 )( 2 ) ( m )( 1 )( 2 )
× α1 ( x1, x2 ,..., xn ) ∨ α2 ( y1, y2 ,..., yn )  , m, p ≤ n.
Формула A логики предикатов называется выполнимой в области M (в данной интерпретации), если существуют значения
переменных, входящих в эту формулу из области M, при которых
формула A принимает истинные значения. Формула A называется
выполнимой, если существует область, на которой эта формула выполнима.
Формула A называется тождественно истинной в области M, если
она принимает истинные значения для всех значений переменных
из M, входящих в эту формулу.
Формула A называется общезначимой, если она тождественно
истинна на всякой области. Общезначимую формулу называют логическим законом.
Формула A общезначима тогда и только тогда, когда формула A
не является выполнимой, и формула A выполнима тогда и только
тогда, когда формула A не является общезначимой. Очевидно, что
если F и G – равносильные в логике предикатов формулы, то F↔G –
общезначимая формула.
Теорема 3.3. Формула ∀xA(x)→A(y), где переменная y не входит
в формулу A(x), общезначима.
Доказательство. Пусть x1, x2,…, xn – все свободные переменные
формулы A(x), тогда y, x1, x2,…, xn – перечень свободных переменных формулы ∀xA(x)→A(y). Рассмотрим произвольную интерпретацию с множеством M. Пусть b, a1, a2,…, an, b∈M, ai∈M, i=1, 2, …,
138
n – произвольный набор значений свободных переменных доказываемой формулы. Покажем, что
∀xA ( x ) → A ( y )
b,a1,a2 ,...,an
=
1.
Для формулы A(x) либо существует a0∈M такой, что
A (x)
a0 ,a1,a2 ,...,an
= 0,
либо для любого a∈M (в том числе и для a=b)
A (x)
a,a1,a2 ,...,an
= 1.
В первом случае, если
A (x)
a0 ,a1,a2 ,...,an
= 0, то ∀xA ( x )
a1,a2 ,...,an
=
0
и тогда
∀xA ( x ) → A ( y )
b,a1,a2 ,...,an
=
1,
так как для импликации
 0 → 1 ≡ 1,

0 → 0 ≡ 1.
Во втором случае
∀xA ( x )
a1,a2 ,...,an
=
1, A ( y )
b,a1,a2 ,...,an
= 1,
тогда ∀xA(x)→A(y)≡1, так как 1→1≡1.
Теорема 3.4. Формула A(y)→∃xA(x), где переменная y не входит
в формулу A(x), общезначима.
Докажем эту теорему, опираясь на предыдущую. Имеем
∀x A ( x ) → A ( y ) ≡ 1.
Тогда
∀x A ( x ) → A ( y ) ≡ ∀x A ( x ) ∨ A ( y ) ≡ ∃x A ( x ) ∨ A ( y ) ≡
≡ ∃xA ( x ) ∨ A ( y ) ≡ A ( y ) ∨ ∃xA ( x ) ≡ A ( y ) → ∃xA ( x ) ≡ 1.
Следовательно, формула A(y)→∃xA(x) общезначима.
139
Теорема 3.5. Пусть A – тождественно истинная формула алгебры высказываний, x1, x2,…, xn – список ее переменных. Подставив вместо каждой переменной xi, формулу логики предикатов Bi,
так, чтобы при этом не нарушались пункты определения формулы
логики предикатов, получим общезначимую формулу логики предикатов.
Доказательство равносильностей формул логики предикатов
требует либо детального рассмотрения значений формул, либо использования известных равносильностей.
Пример 1. Доказать ∀xA ( x ) ≡ ∃x A ( x ). Этот пример легко решается. Воспользуемся первой формулой из списка равносильных
формул логики предикатов ∀xA ( x ) ≡ ∃x A ( x ). Если от нее взять отрицание, получим искомый результат
∀xA ( x ) ≡ ∀xA ( x ) ≡ ∃x A ( x ).
Пример 2. Пусть A(x) и B(x) два одноместных предиката, определенных на множестве M и таких, что высказывание



∃x  A ( x ) →  A ( x ) ∨  B ( x ) → A ( x )    ≡ 1.




Доказать, что высказывание ∀xA(x)≡0.
Упростим исходное высказывание



∃x  A ( x ) →  A ( x ) ∨  B ( x ) → A ( x )    ≡




(
(
(
≡ ∃x A ( x ) → A ( x ) ∨ B ( x ) ∨ A ( x )




≡ ∃x  A ( x ) → A ( x ) ∨ B ( x ) ∧ A ( x )  ≡

 


A ( x ) ïî çàêîíó ïîãëîùåíèÿ 

(
(
))) ≡
)
(
))
(
)
≡ ∃x A ( x ) → A ( x ) ≡ ∃x A ( x ) ∨ A ( x ) ≡ ∃x A ( x ) ≡ ∀xA ( x ) ≡ 1.
Тогда ∀xA ( x ) ≡ ∀xA ( x ) ≡ 0.
Пример 3. Привести к предваренной нормальной форме следующие формулы логики предикатов:
1) B ≡ p → ∃xR ( x ).
140
(
)
p → ∃xR ( x ) ≡ p ∨ ∃xR ( x ) ≡ p ∧ ∃xR ( x ) ≡ p ∧ ∀xR ( x ) ≡ ∀x p ∧ R ( x ) .
2) B ≡ ∀x∃y ( A ( x ) ↔ A ( y ) ) ≡ ∃x∃y ( A ( x ) ↔ A ( y ) ) ≡
≡ ∃x∀y( A ( x ) ↔ A ( y ) ) ≡ ∃x∀y( A ( x ) → A ( y ) ) ∧ ( A ( y ) → A ( x ) ) ≡
(
)
(
) (
)


≡ ∃x∀y ( A ( x ) → A ( y ) ) ∨ ( A ( y ) → A ( x ) ) ≡ ∃x∀y  A ( x ) ∨ A ( y ) ∨ A ( y ) ∨ A ( x )  ≡


)
≡ ∃x∀y ( A ( x ) ∧ A ( y ) ∨ A ( y ) ∧ A ( x ) .
Для определения общезначимости формулы логики предикатов
иногда бывает достаточно равносильных преобразований. Чаще
всего этого недостаточно. Поэтому связь между общезначимостью и
выполнимостью устанавливают теоремами.
Теорема 3.6. Для того чтобы формула A была общезначима, необходимо и достаточно, чтобы ее отрицание было не выполнимо.
(Невыполнимость означает, что формула тождественно ложна на
всякой области.)
Доказательство. 1. Необходимость. Пусть формула A общезначима. Тогда A – тождественно ложная формула на всякой области
и, следовательно, не выполнима.
2. Достаточность. Пусть A не выполнима на всякой области M.
Тогда она там тождественно ложна по определению невыполнимой формулы. Следовательно, A – тождественно истинная формула
в любой области M, т. е. она общезначима.
Теорема 3.7. Для того чтобы формула A была выполнимой, необходимо и достаточно, чтобы формула A была необщезначимой.
Доказательство этой теоремы очень просто и аналогично доказательству теоремы 3.6. Поясним смысл последней теоремы. Выполнимость формулы A означает, что для этой формулы существуют
две области M и M / , причем в одной из них, например, M она истинна, а в другой M / – ложна.
Задача распознавания общезначимости формул логики предикатов существенно сложнее, чем формул алгебры высказываний. Она
также называется проблемой разрешимости, но решается гораздо
труднее. Метод перебора всех вариантов в общем случае здесь не
применим, так как вариантов может быть бесконечно много. В 1936
году американский математик А. Чёрч доказал, что в общем виде
проблема разрешимости логики предикатов не имеет алгоритмического решения.
141
Теорема 3.8 (теорема Чёрча1). Не существует алгоритма, который для любой формулы логики предикатов устанавливает, общезначима она или нет.
Задача распознавания общезначимости может быть решена в некоторых частных случаях.
§ 3.7. Практическое занятие № 8.
Выполнимость формул логики предикатов
3.7.1. На множестве M определены одноместные предикаты F(x)
и G(x). Каким условиям удовлетворяют области их истинности,
если истинны:
а) ∀x ( F ( x ) → G ( x ) ) ∧ ∃x F ( x ) ∧ G ( x ) ;
(
)
б) ∃x ( F ( x ) ∧ G ( x ) ) ∧ ∃x ( F ( x ) → G ( x ) ).
3.7.2. Выполнимы ли следующие формулы:а) ∃xP(x);
(
)
б) ∃x∀y Q ( x, x ) ∧ Q ( x, y ) ;
в) ∃x∀y(Q(x, y)→∀zR(x, y, z)).
3.7.3. Являются ли тождественно истинными следующие формулы:
а) ∃xP(x)→∀xP(x);
б) ∀xP(x)→∃xP(x);
в) ∃xP(x)∨∃xQ(x)↔∃x(P(x)∨Q(x));
г) ∃x∀yQ(x, y)→∀y∃xQ(x, y);
д) P(x)→∀yP(y);
е) ∃x P ( x ) ∧ ( r → Q ( x ) ) → ∀x P ( x ) → Q ( x ) → r .
3.7.4. Доказать тождественную истинность следующих формул:
а) ∃xP ( x ) → ∀xP ( x );
(
)
( (
) )
(
)
в) ∀x ( P ( x ) → Q ( x ) ) → ( ∀xP ( x ) ∧ ∃xQ ( x ) ).
б) ∀x P ( x ) → Q ( x ) → ( ∃xP ( x ) ∧ ∀xQ ( x ) );
3.7.5. Доказать, что если C не содержит свободных вхождений x,
то:
а) ∃xP ( x ) ≡ ∀xP ( x );
б) ∀xP(x)∧C≡∀x(P(x)∧C).
3.7.6. Привести к предваренной нормальной форме следующие формулы логики предикатов, считая P и Q бескванторными формулами:
а) ∃x∀y∃z∀uP ( x, y, z,u );
1
142
Алонзо Чёрч (1903–1995) – американский математик и логик.
б) ∃x∀yP(x, y)∧∃x∀yQ(x, y);
в) ∃x∀yP(x, y)∨∃x∀yQ(x, y);
г) ∃x∀yP(x, y)→∃x∀yQ(x, y);
д) ∀x∃y ( P ( x ) ↔ Q ( y ) );
е) ∀x(P(x)→∃yQ(y)).
3.7.7. Привести к скулемовской нормальной форме:
а) ∀x∃yQ(x, y)→∃x∀yQ(x, y);
б) ∃x(P(x)→(∀yQ(x, y)→∀zR(x, z))).
3.7.8. Доказать общезначимость следующих формул:
а) ∀x(P(x)→Q(x))→(∀xP(x)→∀xQ(x));
б) ∀x(P(x)→Q(x))→(∃xP(x)→∃xQ(x));
в) ∀x(q→P(x))↔(q→∀xP(x)).
3.7.9. Доказать тождественную ложность формулы
(
(
)
)
∃x∃y ( P ( x ) → P ( y ) ) ∧ P ( x ) → P ( y ) ∧ P ( x ) .
3.7.10. Пусть σ={P1, P2,…, Pn}, где P1, P2,…, Pn – одноместные предикатные символы. Доказать, что для любой формулы A сигнатуры
σ существует формула B, эквивалентная A, построенная с помощью
∧, ∨ и из ∃ – составляющих, т. е. формул вида ∃x(B1∧B2∧…∧Bs), где
s≥1 и Bi (1≤i≤n) имеют вид P(x) или P ( x ) для некоторого P из σ.
§ 3.8. Применение языка логики предикатов
для записи математических предложений [12, 13]
При переводе словесных выражений в логическую символику
надо иметь четкое представление об интерпретации этой символики. Поэтому необходимо четко очертить множество M, содержащее
все высказывания, к которым применяются логические методы и
приемы. Затем надо выбрать перечень предикатов, которые будут
служить основными независимыми предикатами, участвующими
в формулировках. Каждый из этих предикатов становится высказыванием, когда все его переменные будут элементами из множества M, называемого предметной областью.
Полностью решить логические проблемы, возникающие в «словесных» языках, можно было бы только, переведя все фразы в символику используемого исчисления, а затем пользоваться только
формальным аппаратом этого исчисления.
Кванторы сочетаются друг с другом и логическими связками
многими способами, поэтому переводы выражений, содержащих
кванторы, обычно неоднозначны. Однако в некоторых областях
143
знания, в частности математике, этот перевод наиболее естественен.
Сам язык логики предикатов очень удобен для записи математических предложений. Он дает возможность выражать логические связи между понятиями, записывать определения, теоремы, доказательства. Выбор перечня необходимых предикатов, описывающих
заданные свойства или условия, также сравнительно прост. Рассмотрим несколько примеров.
1. Запись математических определений.
а) Определение бесконечно малой функции. Функция α(x) на0. Это класзывается бесконечно малой при x→a, если lim α ( x ) =
x →a
сическое определение, представляющее, по сути дела, определение
предела функции, равного нулю. Перепишем это определение на
языке ε–δ:
lim α ( x ) = 0 ⇔ ∀ε > 0 ∃δ ( ε ) > 0 ∀x ∈ Mα( x ) P ( x, ε, δ ),
x →a
где P(x, ε, δ)=(0<x–a<δ→α(x)<ε) – трехместный предикат, определяющий условия предельного перехода.
б) Определение экстремума функции
(минимума в точке x0, рис. 3.8).
∃x0∈M ∀x1∈M ∀x2∈M P(x0, x1, x2),
f(x2)
f(x1)
f(x0)=min
x1 x0
x2
Рис. 3.8
a
x0
b
Рис. 3.9
где P(x0, x1, x2)=((x1<x0)→(f(x1)>f(x0)))∧
((x2>x0)→(f(x2)>f(x0))). Здесь использован трехместный предикат P(x0, x1, x2).
в) Определение выпуклости (вогнутости) функции f(x) (рис. 3.9).
Если во всех точках интервала (a, b)
вторая производная f // ( x ) < 0, то f(x)
на (a, b) выпукла. Это можно выразить
совсем просто с помощью следующего
выражения:
(
)
∀x ∈ ( a, b ) ∃f // ( x ) ∧ f // ( x ) < 0 .
Использован одноместный предикат P(x).
г) Определение четной функции.
Функция f(x) называется четной, если область ее определения
симметрична относительно начала координат и для каждого x из
области определения выполняется равенство f(x)=f(–x). Тогда ∀x∈M
((–x∈M)∧(f(x)=f(–x))).
144
2. Формулировка математических теорем.
Теоремы математики допускают формулировки в виде условных
предложений. Говоря о строении многих теорем, можно выделить
в них три части: условие теоремы – предикат P(x), заданный на множестве R2; заключение теоремы – предикат Q(x), заданный на множестве R2; разъяснительная часть, описывающая множество объектов, о которых идет речь в теореме.
Например, строение теоремы может быть таким: «Если любой
элемент x из множества M обладает свойством P(x), то он обладает
свойством Q(x)». Таким образом, теорема формулируется так: ∀x∈M
(P(x)→Q(x)).
Вспомним, например, теорему о конечных приращениях (теорему Лагранжа).
Если f(x) непрерывна на [a, b] и дифференцируема на (a, b), то
найдется на (a, b) такая точка c, что f ( b ) - f ( a=
) f / ( c )( b - a ).
Пусть предикат P(a, b, x) выражает свойство функции y=f(x)
быть непрерывной на [a, b] и дифференцируемой на (a, b), а
Q ( a, b, c ) = f ( b ) - f ( a ) = f / ( c )( b - a ) . Тогда сама теорема Лагранжа
может быть сформулирована так: ∃c∈(a, b) (P(a, b, x)→Q(a, b, c)).
В свою очередь, предикат P(a, b, x) может быть расшифрован более подробно:
а) f(x) непрерывна в точке x0, то есть lim f ( x ) = f ( x0 ) или
(
)
x →x0
∀ε>0∃δ>0∀x∈M (0<x–x0<δ→f(x)–f(x0)<ε), где M – область определения f(x);
б) f(x) непрерывна на [a, b] или ∀y∈[a, b] (∀ε>0∃δ>0∀x∈M
(0<x–y<δ→f(x)–f(y)<ε)).
Аналогично с помощью языка ε–δ может быть выражено свойство дифференцированности на (a, b). Напомним, что если существует производная f(x) в точке x0, то
lim
x →x0
f ( x ) - f ( x0 )
x - x0
= f / ( x0 ).
Излишняя детализация условий часто не нужна, то есть можно
ограничиться формулой ∃c∈(a, b) (P→Q).
Форма теоремы может быть иной. Рассмотрим следующую теорему из линейной алгебры.
Любые четыре вектора в R3 линейно зависимы. Эта теорема может быть сформулирована в виде ∀x∈R P(x), где P(x) – доказываемое
свойство (предикат, выражающий это свойство). Действительно,
145
пусть a, b, c è d – векторы из R3, а α, β, γ и δ – ненулевые действительные числа. Тогда
∀a ∈ R 3∀b ∈ R 3∀c ∈ R 3∀d ∈ R 3 ∃α ∈ R \ {0} ∃β∈ R \ {0} ∃γ ∈ R \
(
)
\{0} ∃δ∈ R \ {0} αa + βb + γ c + δd = 0 .
3. Построение противоположных утверждений и доказательство методом от противного. Это задача, легко сводящаяся к формальным преобразованиям. Если есть утверждение A, то построить
A можно с помощью равносильных преобразований. Иногда это,
правда, приводит к тому, что A дает негативное (неконструктивное) определение. Чаще и здесь получаются положительные (конструктивные) определения.
Например, возьмем определение бесконечно малой и найдем его
отрицание
(
)
∀ε > 0 ∃δ ( ε ) > 0 ∀x ∈ M 0 < x - a < δ → α ( x ) < ε ≡ ∃ε > 0 ∀δ ( ε ) > 0 ∃x ∈ M
(0 < x - a < δ ∨ α ( x ) < ε ) ≡ ∃ε > 0 ∀δ( ε ) > 0 ∃x ∈ M (0 < x - a < δ ∧ α ( x ) ≥ ε ).
Это негативное определение. Оно подойдет для формирования
контрпримера для того, чтобы доказать, что α(x) – не бесконечно малая величина в точке a. Позитивное определение бесконечно большой такое:
lim α ( x ) =
∞,
x →a
то есть ∀ε>0∃δ>0∀x∈M (0<x–a<δ→α(x)>ε).
Особый интерес представляет построение утверждения, отрицающего справедливость некоторой теоремы: ∀x∈M (P(x)→Q(x)).
(
)
∀x ∈ M ( P ( x ) → Q ( x ) ) ≡ ∃x ∈ M P ( x ) ∧ Q ( x ) .
Следовательно, чтобы доказать, что теорема ∀x∈M (P(x)→Q(x) неверна, достаточно указать такой элемент x∈M, для которого P(x) истинно, а Q(x) ложно, то есть привести контрпример. Продемонстрируем это на следующем примере. Рассмотрим утверждение «если
функция непрерывна в точке x0, то она и дифференцируема в этой
точке». Конечно, это не так. Из курса математического анализа известно, что дифференцируемость более строгое требование. Из дифференцируемости следует непрерывность, из непрерывности дифференцируемость не следует. Сформулируем основное утверждение.
146
Пусть M – множество всех функций, определенных в точке x0,
P(f) – предикат, выражающий свойство функции быть непрерывной, а Q(f) – свойство быть дифференцируемой в точке x0. Тогда основная теорема имеет стандартный вид ∀f∈M (P(f)→Q(f)).
Противоположное утверждение имеет вид ∃f ∈ M P ( f ) ∧ Q ( f ) ,
то есть найдется функция, определенная в точке x0 , которая непрерывна, но не имеет производной в x0 .
Таких функций множество, это все функции, содержащие точку излома или точку возврата. Простейшая из них y=x (рис. 3.10). В точке x=0
она непрерывна, но не дифференцируема.
y=x
Следовательно, основная теорема неверна.
Аналогично обстоит дело и с формой ∀xP(x).
Рассмотрим уже разобранный пример из
линейной алгебры и найдем к нему противоРис. 3.10
положное высказывание.
(
)
∀a ∈ R 3∀b ∈ R 3∀c ∈ R 3∀d ∈ R 3 ∃α ∈ R \ {0} ∃β∈ R \ {0} ∃γ ∈ R \ {0} ∃δ∈ R \
(
)
\{0} αa + βb + γ c + δd = 0 ≡ ∃a ∈ R 3 ∃b ∈ R 3 ∃c ∈ R 3 ∃d ∈ R 3∀α ∈ R \ {0}∀β∈
(
)
∈ R \ {0}∀γ ∈ R \ {0}∀δ∈ R \ {0} αa + βb + γ c + δd
= 0 ≡ ∃a ∈ R 3 ∃b ∈ R 3 ∃c ∈
R 3 ∃d ∈ R 3 ∀α ∈ R \ {0} ∀β∈ R \ {0} ∀γ ∈ R \ {0} ∀δ∈ R \ {0}
( αa + βb + γc + δd ≠ 0).
Схема доказательства от противного очень похожа на только что
рассмотренный случай и такова: предполагается, что теорема ∀x∈M
(P(x)→Q(x)) неверна, то есть истинно противоположное утвержде-
(
)
ние ∀x ∈ M ( P ( x ) → Q ( x ) ) ≡ ∃x ∈ M P ( x ) ∧ Q ( x ) . Если из последней
формулы путем логических рассуждений приходят к неверному утверждению, то делается вывод о том, что исходная теорема верна.
По этой схеме противоположное высказывание надо свести к ложному, то есть доказать истинность формулы
∀x ∈ M ( P ( x ) → Q ( x ) ) → c ∧ c,
где c – некоторое высказывание. Действительно,
(
)
∀x ∈ M ( P ( x ) → Q ( x ) ) → c ∧ c ≡ ∀x ∈ M ( P ( x ) → Q ( x ) ) ∨ c ∧ c ≡
≡ ∀x ∈ M ( P ( x ) → Q ( x ) ).
147
4. Формулировка обратных и противоположных теорем.
Рассмотрим четыре схемы теорем:
1) ∀x∈M (P(x)→Q(x)),
2) ∀x∈M (Q(x)→P(x)),
(
)
4) ∀x ∈ M ( Q ( x ) → P ( x ) ).
3) ∀x ∈ M P ( x ) → Q ( x ) ,
Две теоремы, у которых условие одной является заключением
другой, а условия второй заключением первой, называются взаимно-обратными, то есть ∀x∈M (P(x)→Q(x)) и ∀x∈M (Q(x)→P(x)) взаим-
(
)
(
)
(
)
но-обратны и ∀x ∈ M P ( x ) → Q ( x ) и ∀x ∈ M Q ( x ) → P ( x ) также
взаимно-обратны. Первая теорема обычно называется прямой теоремой, а вторая – обратной.
Две теоремы, у которых условие и заключение одной являются
отрицанием условия и заключения другой, называются взаимно
противоположными.
В нашей схеме ∀x∈M (P(x)→Q(x)) и ∀x ∈ M P ( x ) → Q ( x ) – вза имно противоположны и ∀x∈M (Q(x)→P(x)) и ∀x ∈ M Q ( x ) → P ( x )
также взаимно противоположны. Прямая и обратная теоремы в общем случае не равносильны, то есть одна из них может быть истинной, а другая ложной. Но теоремы 1 и 4 и 2 и 3 всегда равносильны,
и это легко доказывается:
(
(
)
)
(
)
∀x ∈ M ( P ( x ) → Q ( x ) ) ≡ ∀x ∈ M P ( x ) ∨ Q ( x ) ≡ ∀x ∈ M  P ( x ) ∨ Q ( x )  ≡


≡ ∀x ∈ M  Q ( x ) ∨ P ( x )  ≡ ∀x ∈ M Q ( x ) ∨ P ( x ) ≡ ∀x ∈ M Q ( x ) → P ( x ) .


(
(
)
)
Аналогично ∀x ∈ M ( Q ( x ) → P ( x ) ) ≡ ∀x ∈ M P ( x ) → Q ( x ) .
Пример 1. Возьмем простую теорему из теории дифференциаль0 – линейное однородное
ных уравнений. Пусть y// + a1y/ + a2 y =
дифференциальное уравнение с постоянными коэффициентами,
а y1(x) и y2(x) – два частных решения этого уравнения из множества M всех частных решений. P(y1, y2) – предикат, выражающий
факт, что y1(x) и y2(x) являются частными решениями уравнения
y// + a1y/ + a2 y =
0, а Q(Σ)=y1(x)+y2(x) – также частное решение этого
уравнения.
Если y1(x) и y2(x) – два любых частных решения уравнения
y// + a1y/ + a2 y =
0, то y1(x)+y2(x) есть также решение этого уравнения.
148
Итак, основная теорема ∀y1∀y2∈M (P(y1, y2)→Q(Σ)) верна. Тогда
обратная теорема ∀y1∀y2∈M (Q(Σ)→P(y1, y2)) неверна. Действительно, она звучит следующим образом: «если y1(x)+y2(x) решение урав0, то y1(x) и y2(x) тоже решения этого уравнения y// + a1y/ + a2 y =
нения». Противоположная теорема ∀y1∀y2 ∈ M P ( y1, y2 ) → Q ( Σ )
так же неверна, ибо утверждает, что «если y1(x) и y2(x) не являются
0, то y1(x)+y2(x)
частными решениями уравнения y// + a1y/ + a2 y =
также не частное решение этого уравнения». Наконец, теорема,
противоположная к обратной ∀y1∀y2 ∈ M Q ( Σ ) → P ( y1, y2 ) , верна: «если y1(x)+y2(x) не является частным решением уравнения
y// + a1y/ + a2 y =
0, то y1(x) и y2(x) – также не частные решения данного дифференциального уравнения». Проверим все сделанные утверждения на простейшем примере.
(
(
)
)
y// + y/ - 2y =0, k2 + k - 2 =0, k1 =
1, k2 =-2, y1 =ex , y2 =e-2x .
Истинность основной теоремы проверяется подстановкой
y1 + y2 = ex + e-2x , y1/ + y2/ = ex - 2e-2x , y1// + y2// =ex + 4e-2x ,
y// + y/ - 2y = ex + 4e-2x + ex - 2e-2x - 2ex - 2e-2x = 0.
Проверим истинность обратной теоремы. Пусть
( ex + e-2x )
=
2
y1 + y2 = y1 + y2
ex + e-2x
=
y1
=
e2x + 2e- x + e-4x
ex + e-2x
e2x + 2e- x
e-4x
= x -2x + x -2x ,
e +e
e +e
e2x + 2e- x
e-4x
=
, y2
,
ex + e-2x
ex + e-2x
//
/
тогда, например, y2 + y2 - 2y2 ≠ 0, то есть обратная теорема неверна. Точно также проверяется истинность всех остальных ранее высказанных предложений.
5. Формулировка необходимых и достаточных условий.
Некоторые теоремы математики, в частности теоремы существования, сформулированы в виде «… для того чтобы…, необходимо и достаточно, что…», или « … тогда и только тогда, когда…». Эта конструкция приводит к эквиваленции, то есть имеет вид ∀x∈M (P(x)↔Q(x)).
Если вернуться к уже рассмотренной форме ∀x∈M (P(x)→Q(x)), то
можно вспомнить, что в импликации предикат Q(x) логически следует из предиката P(x), поэтому P(x) называют достаточным условием
для Q(x), а Q(x) называют необходимым условием для P(x):
149
Í 
 Ä
∀x ∈ M  P ( x ) → Q ( x )  .




Если теорема имеет форму
∀x∈M (P(x)↔Q(x)),
то
∀x∈M (P(x)↔Q(x))≡∀x∈M ((P(x)→Q(x))∧(Q(x)→P(x)))≡
≡∀x∈M (P(x)→Q(x))∧∀x∈M (Q(x)→P(x)).
Таким образом, P(x) является необходимым и достаточным условием для Q(x), а Q(x) необходимо и достаточно для P(x).
Пример 2. В следующих предложениях поставить слова «необходимо, но недостаточно», «достаточно, но не необходимо», «не необходимо и недостаточно» или «необходимо и достаточно».
Для того чтобы x2–5x+6=0…, чтобы x=3.
Пусть P(x)=(x2–5x+6=0), Q(x)=(x=3). Корни уравнения x2–5x+6=0
равны x1=2, x2=3. Рассмотрим
Í 
 Ä
∀x ∈ {2,3} P ( x ) → Q ( x ) .




Ä
Í
При x=2, P(2)=1 Q(2)=0, 1→0=0, то есть P ( x ) → Q ( x ). Следовательно, для P(x) Q(x) не является необходимым. Теперь рассмотрим
противоположную импликацию
Í 
 Ä
∀x ∈ {2,3} Q ( x ) → P ( x ) .




Здесь при x=2, P(2)=1, Q(2)=0, 0→1=1 и при x=3, P(3)=1, Q(3)=1,
1→1=1, вторая импликация верна. Значит, для P(x) Q(x) является
достаточным условием. Итак, первоначальное предложение должно быть сформулировано следующим образом: «для того, чтобы x2–
5x+6=0 достаточно, но не необходимо, чтобы x=3».
Пример 3. Для того, чтобы функция f(x) была интегрируема на
отрезке [a, b], …, чтобы f(x) была ограничена.
Пусть P(x) – предикат, выражающий свойство функции f(x) быть
интегрируемой на [a, b], а предикат Q(x) выражает свойство ограниченности этой функции на отрезке [a, b]. Из курса математического
анализа известно, что если функция интегрируема по Риману на [a,
150
b], то она и ограничена; если же функция ограничена, то из этого
не следует ее интегрируемость по Риману. Как пример можно привести функцию Дирихле
 1, x - ðàöèîíàëüíîå,
d(x) = 
0, õ - èððàöèîíàëüíîå.
Таким образом,
Í 
Í 
 Ä
 Ä
∀x ∈ [ a, b ] P ( x ) → Q ( x )  и ∀x [ a, b ] Q ( x ) → P ( x ) ,








то есть для P(x) Q(x) является необходимым, но не достаточным условием. Итак, для того чтобы функция f(x) была интегрируема на
отрезке [a, b], необходимо, но не достаточно, чтобы f(x) была ограничена.
§ 3.9. Практическое занятие № 9.
Применение языка логики предикатов в математике
3.9.1. Записать на языке логики предикатов следующие определения:
1) двух равных вещественных чисел (два вещественных числа x
и y называются равными x=y, если не выполнено ни одно из соотношений x>y или y>x);
2) ограниченного сверху (снизу) числового множества A (множество A⊂R называется ограниченным сверху (снизу), если существует такое вещественное число xm, что для всех чисел a∈A выполнено
условие a≤xm (a≥xm));
3) линейно независимых векторов x1, x2 ,..., xk (векторы
x1, x2 ,..., xk называются линейно зависимыми, если существует
такие вещественные числа α1, α2,…, αk, не все равные нулю, что
α1 x1 + α2 x2 + ... + α k xk =0. В противном случае векторы x1, x2 ,..., xk
называются линейно независимыми);
4) определение двух перпендикулярных векторов из R3 (два вектора a и b из R3 перпендикулярны, если их скалярное произведение равно нулю);
5) предела числовой последовательности {xn} (последовательность {xn} называется сходящейся к числу x, если существует такое
число x, что для любого ε>0 найдется такой номер N=N(ε), что при
всех n>N имеет место неравенство xn–x<ε. x называется пределом
последовательности {xn});
151
6) строго монотонной последовательности (последовательность
{xn} называется возрастающей (убывающей), если при n=1, 2,…
xn+1>xn (xn+1<xn). Возрастающие и убывающие последовательности
называются строго монотонными);
7) фундаментальной последовательности {xn} (последовательность {xn} называется фундаментальной, если для любого ε>0 найдется такой номер N=N(ε), что при всех n, l>N(ε) выполняется неравенство xn–xl<ε);
8) периодической функции (функция f(x) называется периодической, если существует такое число T≠0, что при любом x из области
определения функции числа x–T и x+T также принадлежат этой области и выполняется условие f(x±T)=f(x));
9) монотонно возрастающей функции (функция f(x) называется
монотонно возрастающей, если из неравенства x1<x2, x1, x2∈M следует, что f(x1)<f(x2));
10) предела функции f(x) при x→+∞ (число A называется пределом функцииf(x) при x→+∞, если для любого ε>0 найдется N(ε)>0,
что при всех x∈M, удовлетворяющих условию x>N, выполняется неравенство f(x)–A<ε).
3.9.2. Сформулировать на языке логики предикатов следующие
теоремы из математического анализа:
1) признак Лейбница (пусть xn≥xn+1≥0 и lim xn = 0. Тогда знако∞
чередующийся ряд
n +1
∑ ( -1)
n =1
n →∞
xn сходится;
2) теорему Вейерштрасса1 (непрерывная на отрезке [a, b] функция f(x) ограничена на этом отрезке.);
3) теорему Ролля2 (пусть функция f(x) непрерывна на отрезке [a,
b], дифференцируема на интервале (a, b) и f(a)=f(b), тогда найдется
хотя бы одна точка c∈(a, b) такая, что f / ( c ) = 0. );
4) теорему о среднем для определенного интеграла (пусть функция f(x) непрерывна на отрезке [a, b]. Тогда существует такая точка
b
x ) dx f ( c )( b - a ).;
c∈[a, b], что ∫ f (=
a
1
2
152
Карл Вейерштрасс (1815–1897) – немецкий математик.
Мишель Ролль (1652–1715) – французский математик.
5) критерий Коши1 для последовательностей (для того чтобы последовательность {xn} была сходящейся, необходимо и достаточно,
чтобы она была фундаментальной).
3.9.3. Доказать несправедливость утверждений:
1) если функция f(x) интегрируема на отрезке [a, b], то она монотонна на этом отрезке;
2) если дифференцируемая функция f(x) имеет в точке x0 вторую
производную, равную нулю f // ( x0 ) = 0 , то точка x0 – точка экстремума функции;
3) если функция f(x) ограничена на отрезке [a, b], то она интегрируема (по Риману2) на этом отрезке;
4) если функция f(x) дифференцируема в точке x0, то она имеет
в этой точке локальный экстремум;
5) если функция f(x) представима рядом Тейлора на отрезке [a,
b], то этот ряд сходится к f(x) во всех точках этого отрезка;
6) если формула логики предикатов выполнима, то она общезначима.
3.9.4. Используя приведенную основную теорему, сформулировать к ней обратную, противоположную и обратную к противоположной теоремы и проверить их истинность, приведя необходимые
примеры.
1) Если в четырехугольнике диагонали взаимно перпендикулярны, то этот четырехугольник – ромб.
2) Пусть функция f(x) непрерывна на отрезке [a, b] и на концах
этого отрезка принимает значения разных знаков. Тогда между точками a и b найдется по крайней мере одна точка c∈(a, b), в которой
функция обращается в нуль: f(c)=0.
3) Если функция f(x) дифференцируема в некоторой точке x0, то
она в этой точке непрерывна.
4) Если дифференцируемая функция f(x) имеет в точке x0 максимум или минимум, то ее производная обращается в нуль в этой
точке.
∞
5) Если числовой ряд ∑ un сходится, то его n-й член стремится
(
)
n =1
к нулю при n→+∞.
3.9.5. Дополнить следующие предложения словами «необходимо
и достаточно», «необходимо и недостаточно», «достаточно, но не не-
1
2
Августин Луи Коши (1789–1857) – французский математик.
Бернгард Риман (1826–1866) – немецкий математик.
153
обходимо» или «не необходимо и недостаточно», сформулировав необходимые и достаточные условия.
1) Для того чтобы два треугольника были равны,…, чтобы все
углы одного треугольника были равны соответствующим углам
другого.
2) Для того чтобы все стороны многоугольника были равны,…,
чтобы этот многоугольник был правильным.
3) Для того чтобы два вектора в R2 были линейно зависимы,…,
чтобы они были коллинеарны.
4) Для того чтобы функция y=C1y1+C2y2+…+Cnyn, где C1, C2,…,
Cn – произвольные постоянные, была общим решением дифференn
n -1
циального уравнения y( ) + a1y( ) + ... + an yn =
0, …, чтобы функции y1, y2,…, yn были линейно независимыми решениями этого
уравнения.
5) Для того чтобы функции F1(x) и F2(x) были двумя первообразными от функции f(x) на отрезке [a, b],…, чтобы разность между
ними была равна постоянному числу.
154
4. ИСЧИСЛЕНИЕ ПРЕДИКАТОВ
§ 4.1. Синтаксис языка исчисления предикатов
Исчисление высказываний – очень узкая логическая система.
Есть такие типы логических рассуждений, которые не могут быть
осуществлены в рамках исчисления высказываний, например, «простое число два – четное, следовательно, существуют простые четные
числа». Корректность этого умозаключения основана на внутренней
структуре самого предложения и на смысле слова «существует». Поэтому возникает потребность расширения исчисления путем введения в него дополнительных понятий и символов. Дополнительными
понятиями являются предикаты, а символами – символы кванторов.
Для того чтобы формально описать язык исчисления предикатов как язык формальной теории, необходимо задать множество его
символов и правила построения формул языка, т. е. синтаксис.
В алфавит исчисления предикатов входят:
а) строчные латинские буквы с индексами и без них a, b, c,…, x, y,
z,…,a1,…, x1 – предметные переменные;
б) прописные латинские буквы с индексами внизу и без них A,
B,…, A1, A2,… – переменные высказывания;
в) прописные латинские буквы с индексами вверху Fp, Gp,…, Sp,
p
T и эти же символы с индексами внизу F1p , F2p , G1p , G2p ,..., S1p , S2p –
переменные предикаты от p переменных;
г) символы логических операций ∧, ∨, →, ;
д) скобки и запятые () , ;
е) символы кванторов ∀, ∃.
Так же как в исчислении высказываний, в исчислении предикатов определяется формула и подформула. Формулой считаются следующие последовательности символов алфавита:
а) каждое переменное высказывание;
б) Fp(a1, a2,…, ap) – формула, если Fp – символ переменного предиката, а a1, a2,…, ap – символы предметных переменных;
в) если A – формула, содержащее переменную x, то слова ∀xA и
∃xA так же формулы, причем переменная x в ∀xA и ∃xA называется
связанной;
г) если A и B формулы, то A∧B, A∨B, A→B, A тоже формулы.
Примеры формул:
1) ∃xF1(x)→∀yG2(y, z). Это формула, так как G2(y, z) предметный
предикат, содержащий две свободные переменные, то есть элемен155
тарная формула, ∀yG2(y, z) – так же формула, содержащая свободную переменную z и переменную y, связанную квантором всеобщности. В формулах F1(x) и G2(y, z) нет переменных, связанных в одной формуле и свободных в другой.
2) ∃xF1(x)∧∃yG2(x, y) – не формула, так как в F1(x) переменная
xсвязана, а G2(x, y) свободна.
Подформулой элементарной формулы A является, во-первых, она
сама. Если ∀xA или ∃xA – формулы, то A – подформула и всякая ее
часть – подформула. Если A*B формула, где ∗ = ∧, ∨, →, , то ее подформулами являются A и B и все их подформулы.
Вводится понятие области действия квантора. Пусть формула
имеет вид ∀xA или ∃xA. Тогда областью действия квантора ∀x (соответственно ∃x) называется формула A. При этом необходимо, чтобы
выполнялись следующие условия:
1) в формуле свободные и связанные переменные обозначаются
разными буквами;
2) если какой-либо квантор находится в области действия другого квантора, то переменные, связанные этими кванторами, обозначаются разными буквами.
Нарушение этих двух условий в исчислении предикатов называется коллизией переменных. Например, ∀x(F(x)→∃xG(x, y)) выражение не является формулой, так как не удовлетворяет второму
условию.
Теорема 4.1. Если в формуле A изменить обозначения как свободных, так и связанных переменных, меняя букву на другую всюду, где она входит, так, чтобы при этом удовлетворялись первое и
второе условия, то полученное таким образом новое выражение
будет формулой.
{
}
§ 4.2. Аксиомы и основные правила вывода
Аксиомы входят в конечное число некоторых заданных формул,
которые заранее считаются выводимыми. Аксиомы делятся на пять
групп, причем первые четыре группы представляют собой не что
иное, как аксиомы исчисления высказываний.
I. 1. A→(B→A),
2. (A→(B→A))→((A→B)→(A→C)),
II. 3. A∧B→A,
4. A∧B→B,
5. (A→B)→((A→C)→(A→B∧C)),
III. 6. A→A∨B,
156
7. B→A∨B,
8. (A→C)→((B→C)→(A∨B→C)), 9. ( A → B ) → B → A ,
(
(4.2.1)
)
IV. 10. A → A,
11. A → A,
V. 12. ∀xF(x)→F(y),
13. F(y)→∃xF(x).
Рассмотрим теперь несколько правил образования выводимых
формул. Заметим, что секвенции в исчислении предикатов определяются так же, как в исчислении высказываний.
1. Правило заключения (простого заключения). Оно такое же,
как в исчислении высказываний, только объем формул, к которым
применяется это правило, шире.
- A; - A → B
-B
.
2. Правило подстановки. В исчислении высказываний заменялись только переменные высказывания в выводимой формуле на
любую формулу. В исчислении предикатов можно заменять переменные высказывания и переменные предикаты. Это требует учета
некоторых дополнительных условий, чтобы в результате подстановки получилась формула исчисления предикатов.
а) Замена переменного высказывания. Пусть формула A(B) содержит переменное высказывание B. Тогда можно заменить B любой
формулой G, удовлетворяющей следующим условиям:
– свободные переменные в G обозначены буквами, отличными от
связанных переменных в A, и связанные переменные в G- буквами,
отличными от свободных переменных в A;
– если B в A находится в области действия квантора, обозначенного какой-то буквой, то эта буква не входит в G. Тогда
G
∫ ( A ( B))
- A ( G ).
B
Пример 1. Пусть
(
(
))
A ( B ) = ∀x∀y C ∨ ∀zH ( z, x ) ∧ C ∨ F ( x, y ) .
Здесь C нельзя заменить, например, формулой ∀xG(x) или ∃xP(x),
так как не будет соблюдаться второе условие коллизии переменных.
157
Замена же высказывания C формулой ∀z∀t(C∧H(z, t)∨L∧F(z, t)) возможна, так как оба условия будут выполнены. В результате получим выражение, являющееся формулой
(
∀x∀y ∀z∀t ( C ∧ H ( z,t ) ∨ L ∧ F ( z,t ) ) ∨ ∀zH ( z, x ) ∧
)
∧∀z∀t ( C ∧ H ( z,t ) ∨ L ∧ F ( z,t ) ) ∨ F ( x, y ) .
б) Замена переменного предиката. Пусть формула A(F) содержит
переменный предикат F от n переменных и пусть имеется формула G(t1, t2,…, tn), содержащая n свободных переменных t1, t2,…, tn.
Если свободные переменные в G обозначены буквами, отличными
от связанных переменных в F, то есть выполняется первое правило замены переменных и следующее правило: если F в A находится
в области действия квантора, связывающего какую-либо букву, то
эта буква не входит в G, тогда возможна подстановка формулы F в A
вместо предиката F.
При подстановке следует следить (указывать), какой из переменных t1, t2,…, tn в G соответствует каждое пустое место в F(…). Например, пусть A =∃x∃y∃z F ( x, y ) ∨ F ( x, z ) . Требуется заменить F формулой ∀u∃v(H(u, t1)∨H(u, t2)). Здесь выполнено первое и третье условие, следовательно, подстановка возможна. Лучше отдельно выписать, чему равно F в каждом месте формулы A, и возвратить старые
переменные. Тогда F(x, y)=∀u∃v(H(u, x)∨H(v, y)) и F(x, z)=∀u∃v(H(u,
x)∨H(v, z)), формула A будет иметь вид
(
(
)
)
A =∃x∃y∃z ∀u∃v ( H ( u, x ) ∨ H ( v, y ) ) ∨ ∀u∃v ( H ( u, x ) ∨ H ( v, z ) ) .
Если же первое и третье условия не выполняются, то могут получиться выражения, не являющиеся формулами. Например, пусть
A=B∨∀xF(x) и необходимо подставить U(x) вместо B. Получится выражение U(x)∨∀xF(x), которое не является формулой, так как нарушено первое условие. Аналогично, пусть A=∀x(B→F(x)) и надо подставить вместо B ∀xU(x). Получим ∀x(∀xU(x)→F(x)). Это не формула
исчисления предикатов, ибо при подстановке нарушено третье условие.
Операция подстановки переменного предиката в общем случае
выражается следующим образом:
G ( t1,t2 ,...,tn )
∫ ( A ).
F (...)
158
Это правило можно выразить так. Если формула A содержит переменный предикат F, то подстановка применяется, если для формул G(t1, t2,…, tn) и A выполняются первое и третье условия и, кроме того, следующее: отмеченные переменные t1, t2,…, tn не должны
входить в формулу A. При этом справедливы следующие формулы:
G
G


∀
xA
x
åñòü
∀
x
(
)
)
∫(
∫ ( A ( x ))

B
B

а) G ( t ,t ,...,t )
,
G ( t1,t2 ,...,tn )
1 2
n


∫ ( ∀xA ( x ) ) åñòü ∀x ∫ ( A ( x ) )
 F (...)
F (...)
G
G


( ∃xA ( x ) ) åñòü ∃x ∫ ( A ( x ) )
∫

B
B

б) G ( t ,t ,...,t )
.
G ( t1,t2 ,...,tn )
1 2
n


∫ ( ∃xA ( x ) ) åñòü ∃x ∫ ( A ( x ) )
 F (...)
F (...)
в) Замена свободной предметной переменной. Пусть формула A
является выводимой формулой в исчислении предикатов, а формула A / получена из A заменой любой свободной предметной переменной другой свободной предметной переменной, так, что заменяемая
переменная заменяется одинаковым образом всюду, где она входит
в A, тогда A / является выводимой формулой в исчислении предикатов. Например, ∀x ( F ( x ) → G ( y ) ) ∧ F ( y ) → ∃xG ( x ) . Заменим y на
z, получим ∀x ( F ( x ) → G ( z ) ) ∧ F ( z ) → ∃xG ( x ) . Здесь нельзя заменить переменную y переменной x, так как свободная переменная
должна заменяться только свободной переменной.
г) Правило переименования связанных предметных переменных. Если ├A в исчислении предикатов, то A / , полученная заменой в A связанных переменных другими связанными переменными,
отличными от всех свободных переменных формулы A, также выводима в исчислении предикатов. При этом заменяемая связанная
переменная в формуле A должна заменяться одинаковым образом
всюду в области действия квантора, связывающего данную переменную, и в самом кванторе. Например, если ∃xF(x)→∀xG(x), то возможны следующие варианты переименования: ∃yF(y)→∀zG(z) или
∃xF(x)→∀zG(z), или ∃yF(y)→∀xG(x).
Приведем теперь два правила связывания квантором:
(
(
)
)
159
1) если G→A(x) – выводимая формула в исчислении предикатов и
G не содержит переменной x, то формула G→∀xA(x) тоже выводима
в исчислении предикатов, то есть
-G → A ( x )
-G → ∀xA ( x )
;
2) если A(x)→G– выводимая формула в исчислении предикатов и
G не содержит переменной x, то формула ∃xA(x)→G тоже выводима
в исчислении предикатов, то есть
- A (x) → G
-∃xA ( x ) → G
.
Другие правила вывода рассмотрим по мере необходимости. Их,
как и в исчислении высказываний, довольно много.
§ 4.3. Производные правила вывода в исчислении предикатов
Пусть G, F, Ф – произвольные формулы, Γ, Γ1, Γ2, Γ3 – конечные
последовательности формул, возможно пустые, а G(t) получается из
G(x) заменой всех свободных вхождений x на t, Γ4 – конечная последовательность формул, не содержащая x свободно. Тогда в исчислении предикатов верны следующие правила вывода:
1)
Γ1 -G; Γ2 - F
Γ1, Γ2 -G ∧ F
– правило введения конъюнкции;
Γ -G ∧ F

 Γ -G
2) 
– правило удаления конъюнкции;
 Γ -G ∧ F
 Γ -F

 Γ -G

 Γ -G ∨ F
3) 
– правило введения дизъюнкции;
 Γ -F
 Γ -G ∨ F

4)
ции;
160
Γ1 - G ∨ F; Γ2 , G -Φ; Γ2 , F -Φ;
Γ1, Γ2 , Γ3 -Φ;
– правило удаления дизъюнк-
Γ,G - F
5)
Γ -G → F
Γ1 -G → F; Γ2 -G
6)
Γ1, Γ2 - F
Γ,G -
7)
8)
9)
– правило введения импликации; (4.3.1)
Γ -G
Γ,G Γ -G
– правило введения отрицания;
– правило удаления отрицания;
Γ1 -G; Γ2 -G
10)
11)
Γ1, Γ2 ΓΓ -G
– правило сведения к противоречию;
– правило утончения;
Γ -G
Γ, F -G
– правило расширения;
12)
Γ1, G, F, Γ2 -Φ
13)
Γ1, G, G, Γ2 -Φ
14)
15)
16)
17)
– правило удаления импликации;
Γ1, F, G, Γ2 -Φ
Γ1, G, Γ2 -Φ
Γ4 -G ( x )
Γ4 -∀xG ( x )
Γ -∀xG ( x )
Γ -G ( t )
Γ -G ( t )
Γ -∃xG ( x )
– правило перестановки;
– правило сокращения;
– правило введения квантора всеобщности;
– правило удаления квантора всеобщности;
– правило введения квантора существования;
Γ4 , G ( x ) - H
Γ4 , ∃xG ( x ) - H
– правило удаления квантора существования.
161
§ 4.4. Некоторые теоремы исчисления предикатов
Так как все формулы, выводимые в исчислении высказываний,
являются также выводимыми в исчислении предикатов, то, совершая подстановки в выводимые формулы исчисления высказываний, можно получить новые выводимые формулы исчисления
предикатов. Обнаружить выводимость формулы в исчислении высказываний не представляет особого труда. Для этого нет необходимости проводить ее формальный вывод, достаточно установить, что
формула является тождественно истинной в смысле алгебры высказываний. Например,
F( x )
- A ∨ A.
∫ ( A ∨ A ) ≡ -F ( x ) ∨ F ( x ).
A
Можно взять и более длинную формулу ├A→(B∧C→B)∧A=I, тогда
∃xF ( x ),∀yH ( y )
∫
( I ) ≡ - A → ( ∃xF ( x ) ∧ ∀yH ( y ) → ∃xF ( x ) ) ∧ A.
B,C
Все производные правила, выведенные для исчисления высказываний, остаются в силе в исчислении предикатов, например, правило сложной подстановки и сложного заключения, правило силлогизма и другие. Выведем последнее упомянутое правило – правило
силлогизма
-G → F; - F → D
.
-G → D
В исчислении предикатов это правило выводится из доказуемой
формулы (A→B)→((B→C)→(A→C)). Так как правило подстановки
в исчислении предикатов имеет место, то ├(G→F)→((F→D)→(G→D)).
Коллизии переменных здесь не может возникнуть, так как иначе
имела бы место коллизия в какой-нибудь из формул G, F или D либо
между переменными какой-нибудь пары этих формул. Однако каждая пара представляет импликацию G→F, F→D или G→D, поэтому
коллизия имела бы место по крайней мере в одной из этих пар, чего
по предположению нет, так как все эти пары входят в правило силлогизма.
Тогда по правилу сложного заключения
-G → F; - F → D; - ( G → F ) → ( ( F → D ) → ( G → D ) )
-G → D
162
.
Выведем еще одно производное правило вывода исчисления предикатов – правило связывания квантором
-G ( x )
-∀xG ( x )
.
Пусть дано ├G(x). В исчислении предикатов выводима формула
A→B. Тогда применим подстановку
G( x )
∫ ( A → B ) ≡ - A → G ( x ).
B
Осталось воспользоваться первым основным правилом связывания квантором
-G → A ( x )
-G → ∀xA ( x )
где G не содержит переменной x.
Итак,
- A → G (x)
- A → ∀xG ( x )
,
.
Можно предположить, что A не входит в G(x), так как ее всегда можно так выбрать. Далее, пусть Ф – произвольная выводимая формула. Тогда
Φ
∫ ( A → ∀xG ( x ) ) ≡ -Φ → ∀xG ( x ).
A
Наконец, по правилу простого заключения
-Φ; -Φ → ∀xG ( x )
-∀xG ( x )
.
Пример 1. Доказать выводимость формулы
├∀x∀y(F(x)→(G(y)→F(x))).
Воспользуемся первой аксиомой A→(B→A) и сделаем в ней следующую подстановку
F ( x ),G ( y )
∫
( A → ( B → A ) ) ≡ - F ( x ) → ( G ( y ) → F ( x ) ).
A,B
163
По только что доказанному правилу связывания квантором имеем ∀x(F(x)→(G(y)→F(x))). Применяя еще раз это же правило, получаем ├∀x∀y(F(x)→(G(y)→F(x))).
Определение относительно вывода из совокупности формул аналогичны определениям исчисления высказываний. Выводом в исчислении предикатов называется конечная последовательность
формул G1, G2,…, Gn такая, что для каждого i (1≤i≤n) Gi есть либо
аксиома, либо непосредственное следствие одной или двух предыдущих формул.
Для исчисления предикатов справедливы те же логические законы и правила, которые были доказаны ранее в исчислении высказываний. Рассмотрим некоторые из них.
Теорема дедукции. В исчислении высказываний
Γ, C - A
Γ -C → A
.
В исчислении предикатов эта теорема имеет ту же форму: если
формула G выводима из формулы F, то формула F→G выводима в исчислении предикатов, то есть
F -G
.
-F → G
При этом предполагается, что G и F таковы, что F→G является
формулой, то есть между G и F не возникает коллизии переменных.
Пример 2. ├∀xF(x)→∃xF(x). Воспользуемся двумя последними
аксиомами ∀xF(x)→F(y) и F(y)→∃xF(x) исчисления предикатов и
применим к ним правило силлогизма
- A → B; - B → C
-A → C
Получим
.
-∀xF ( x ) → F ( y ); - F ( y ) → ∃xF ( x )
-∀xF ( x ) → ∃xF ( x )
.
Пример 3. ├∀x∀yF(x, y)↔∀y∀xF(x, y). Воспользуемся опять двенадцатой аксиомой ∀xF(x)→F(y). Применяя ее первый раз к переменной x в формуле F(x, y), получаем ∀xF(x, y)→F(u, y); после второго применения к переменной y будем иметь ∀x∀yF(x, y)→F(u, v).
Используем теперь первое правило связывания квантором
164
G → A (x)
G → ∀xA ( x )
,
например, для формулы A(v)=∀x∀yF(x, y)→F(u, v). Тогда получим
выводимую формулу ├∀x∀yF(x, y)→∀vF(u, y). Применив это же
правило еще раз, придем к формуле ├∀x∀yF(x, y)→∀v∀uF(u, v). Сделаем теперь замену связанных переменных, получим ├∀x∀yF(x,
y)→∀y∀xF(x, y).
Точно таким же образом можно доказать и обратное следование
├∀y∀xF(x, y)→∀x∀yF(x, y). Для доказательства исходной формулы
осталось применить правило введения конъюнкции
-G; - F
-G ∧ F
.
Тогда
-∀x∀yF ( x, y ) → ∀y∀xF ( x, y ); -∀y∀xF ( x, y ) → ∀x∀yF ( x, y )
-∀x∀yF ( x, y ) ↔ ∀y∀xF ( x, y )
.
Пример 4. ├∃x∀yF(x, y)→∀y∃ xF(x, y). Воспользуемся опять двенадцатой аксиомой и применим ее к переменной y в предикате F(x,
y). Получим ├∀yF(x, y)→F(x, v). Проделаем то же самое с аксиомой
тринадцать применительно к переменной y: F(x, v)→∃wF(w, v). По
правилу силлогизма найдем
-∀yF ( x, y ) → F ( x,v ); - F ( x,v ) → ∃wF ( w,v )
-∀yF ( x, y ) → ∃wF ( w,v )
.
К полученной формуле применим сначала второе правило связывания квантором
- A (x) → G
-∃xA ( x ) → G
,
получим выводимую формулу ├∃x∀yF(x, y)→∃wF(w, v); затем первое
правило связывания квантором
G → A (x)
G → ∀xA ( x )
,
165
тогда ├∃x∀yF(x, y)→∀v∃wF(w, v). Наконец, применив правило переименования связанных переменных, окончательно найдем ├∃x∀yF(x,
y)→∀y∃xF(x, y).
К сожалению, обратное следование ∀x∀yF(x, y)→∃y∀xF(x, y) не
является выводимым. Формальное доказательство этого довольно громоздко, но сама секвенция легко проверяется, если ее применить, например, к натуральному ряду чисел. Пусть F(x, y)={для
всякого натурального числа x существует большее натуральное
число y}. Тогда ∀x∃yF(x, y)={для всякого натурального числа x существует большее натуральное y}. Это утверждение верно. ∃y∀xF(x,
y)={существует такое натуральное y, что каждое натуральное x
меньше числа y}. Это утверждение, очевидно, неверно.
Пример 5. ├∀x(F(x)→G(x))→(∀xF(x)→∀xG(x)). Возьмем двенадцатую аксиому ∀xF(x)→F(y) и сделаем в ней следующую подстановку:
∀x( F ( x )→G ( x ) ),F ( y )→G ( y )
∫
∀xF ( x ),F ( y )
( ∀xF ( x ) → F ( y ) ) ≡
≡ -∀x ( F ( x ) → G ( x ) ) → ( F ( y ) → G ( y ) ).
Исходная формула имеет вид импликации. Это значит, что посылка формулы должна быть выводимой, то есть ├∀x(F(x)→G(x)),
тогда по выведенному ранее правилу связывания квантором
-G ( x )
-∀xG ( x )
должна быть выводима и формула ├F(x)→G(x). Это обстоятельство
оправдывает только что выполненную подстановку.
Далее по правилу простого заключения находим
-∀x ( F ( x ) → G ( x ) ); -∀x ( F ( x ) → G ( x ) ) → ( F ( y ) → G ( y ) )
-F ( y ) → G ( y )
.
Воспользуемся теперь второй аксиомой исчисления предикатов
I2=(A→B)→((B→C)→(A→C)) и сделаем в ней такую подстановку
∀xF ( x ),
F ( y ),G ( y )
∫
A,B,C
166
( I2 ) ≡ - ( ∀xF ( x ) → F ( y ) ) → ( ( F ( y ) → G ( y ) ) → ( ∀xF ( x ) → G ( y ) ) ).
Из полученной формулы по правилу простого заключения, примененного дважды, немедленно следует
(
-∀xF ( x ) → F ( y ); - ( ∀xF ( x ) → F ( y ) ) → ( F ( y ) → G ( y ) ) → ( ∀xF ( x ) → G ( y ) )
- ( F ( y ) → G ( y ) ) → ( ∀xF ( x ) → G ( y ) )
- F ( y ) → G ( y ); - ( F ( y ) → G ( y ) ) → ( ∀xF ( x ) → G ( y ) )
-∀xF ( x ) → G ( y )
)
,
.
Применим к последней выведенной формуле первое правило связывания квантором
G → A (x)
,
G → ∀xA ( x )
получим ├∀xF(x)→∀yG(y). Переименуем связанные переменные,
тогда ├∀xF(x)→∀xG(x). Наконец, по теореме дедукции
F -G
-F → G
получим, что
∀x ( F ( x ) → G ( x ) ) -∀xF ( x ) → ∀xG ( x )
-∀x ( F ( x ) → G ( x ) ) → ( ∀xF ( x ) → ∀xG ( x ) )
.
§ 4.5. Эквивалентные формулы
Две формулы G и F называются эквивалентными, если ├G↔F.
Теорема 4.2. Если в формуле исчисления предикатов G заменить
любую часть эквивалентной формулой и если полученное вследствие этой замены выражение G / также является формулой и содержит все свободные предметные переменные формулы G, то G и
G / эквивалентны.
Формулы, не содержащие знака импликации, и такие, что знак
отрицания относится только к элементарным частям, называются
нормальными формами исходной формулы. Например,
(
)
(
)
∃x ( A ( x ) → B ( x ) ) ≡ ∃x A ( x ) ∨ B ( x ) ≡ ∀x A ( x ) ∨ B ( x ) ≡
(
)
≡ ∀x  A ( x ) ∧ B ( x )  ≡ ∀x A ( x ) ∧ B ( x ) .


167
Знаки логических операций конъюнкции и дизъюнкции и кванторы существования и всеобщности называются двойственными
друг другу. Формула G двойственна формуле F, если она может быть
получена из F изменением каждого из символов ∧, ∨, ∃x, ∀x на двойственный. Например, формуле
(
(
∀x A ∨ B ( x ) ∧ B ( y ) ∨ B ( x )
двойственна следующая формула:
( (
))
))
∃x A ∧ B ( x ) ∨ B ( y ) ∧ B ( x ) .
Обратим внимание, что расстановка скобок в формуле изменилась
в соответствии со старшинством логических операций; порядок же
действий должен быть прежним. Еще пример, возьмем формулу
(
)
∀x∃y A ( x, y ) ∨ ∀zA ( x, z ) ∧ ∃z A ( y, z ) .
Для нее двойственной будет формула
(
(
))
∃x∀y A ( x, y ) ∧ ∃zA ( x, z ) ∨ ∀z A ( y, z ) .
Здесь появились новые скобки для сохранения прежнего порядка
действий.
Порядок двойственности:
1) для элементарной формулы двойственной является она сама;
2) если G / двойственна G, а F / двойственна F, то для формулы
/
/
G∧F двойственной является формула G ∧ F , а для формулы G∨F
/
/
двойственна G ∨ F ;
3) если G / двойственна G, то для G двойственной формулой яв/
ляется G ;
4) если G / двойственна G, то для ∀xG(x) (или ∃xG(x)) двойственной формулой будет ∃xG / ( x ) (соответственно ∀xG / ( x ) ).
Теорема 4.3. Если формулы G и F эквивалентны, то двойственные им формулы тоже эквивалентны.
Теорема 4.4. Если переставить стоящие непосредственно друг за
другом однородные кванторы, то формула при этом превратится
в эквивалентную.
Например, ∃x∃yF(x, y)↔∃y∃xF(x, y).
Нормальная форма формулы G называется предваренной (приведенной) нормальной формой, если в последовательности символов,
168
образующих формулу, кванторы предшествуют всем остальным
символам. В исчислении предикатов можно доказать те же теоремы, что и в исчислении высказываний. Эти теоремы (правила) позволяют производить преобразования эквивалентности предваренных формул, состоящие, например, в вынесении за скобки и внесении в скобки кванторов всеобщности и существования.
1)
2)
3)
4)
5)
6)
7)
8)
-∀x ( G ∨ F ( x ) )
-G ∨ ∀xF ( x )
-G ∨ ∀xF ( x )
-∀x ( G ∨ F ( x ) )
-∀x ( G ∧ F ( x ) )
-G ∧ ∀xF ( x )
-G ∧ ∀xF ( x )
-∀x ( G ∧ F ( x ) )
-∃x ( G ∨ F ( x ) )
-G ∨ ∃xF ( x )
-G ∨ ∃xF ( x )
-∃x ( G ∨ F ( x ) )
-∃x ( G ∧ F ( x ) )
-G ∧ ∃xF ( x )
-G ∧ ∃xF ( x )
-∃x ( G ∧ F ( x ) )
,
,
,
, (4.5.1)
,
,
,
.
В алгебре предикатов установлены преобразования равносильности. С их помощью доказывалось, что для каждой формулы алгебры предикатов существует равносильная ей нормальная формула.
В исчислении предикатов можно аналогичным образом установить,
что для всякой предваренной формулы (а следовательно, и для произвольной формулы) существует эквивалентная ей нормальная
формула.
169
§ 4.6. Дедуктивная эквивалентность
В исчислении предикатов существует еще одно понятие эквивалентности среди формул.
Две формулы G и F называются дедуктивно эквивалентными
в исчислении, если из аксиом этого исчисления и формулы G посредством правил исчисления можно вывести формулу F и, обратно, из аксиом исчисления и формулы F выводима формула G. Для
исчисления предикатов понятие эквивалентности формул и их дедуктивной эквивалентности не равнозначно.
Теорема 4.5. Если G и F эквивалентны в исчислении предикатов,
то они и дедуктивно эквивалентны.
Доказательство. Пусть G эквивалентно F, то есть ├G↔F. Тогда
G↔F≡(G→F)∧(F→G) и по правилу удаления конъюнкции
-A ∧ B
-A
получим
-(G → F ) ∧ ( F → G )
-G → F
.
Если к аксиомам исчисления присоединить формулу G, то по
правилу простого заключения
-G; G → F
-F
.
Присоединив к аксиомам формулу F, таким же образом можно
вывести формулу G. Отсюда следует, что эквивалентные формулы F
и G являются также дедуктивно эквивалентными.
Обратное утверждение, однако, неверно. Рассмотрим две элементарные формулы A и B. Они будут дедуктивно эквивалентными.
Действительно, если присоединить к аксиомам исчисления предикатов формулу A, то любая формула, в частности B, станет выводимой посредством подстановки в формулу A. То же самое будет,
если мы присоединим к аксиомам формулу F. Отсюда следует, что
формулы A и B дедуктивно эквивалентны в исчислении предикатов.
Однако эти формулы, очевидно, не эквивалентны, так как формула
A↔B не является выводимой из ∅ в исчислении высказываний и,
следовательно, в исчислении предикатов.
170
Теорема 4.6. Если две формулы дедуктивно эквивалентны, то из
того, что одна из них тождественно истинна, следует, что и другая
также тождественно истинна. Понятие дедуктивной эквивалентности полезно именно для исчисления предикатов. Исчисление высказываний, например, полно в узком смысле (теорема 2.9), поэтому
либо формула исчисления высказываний выводима, либо ее присоединение к аксиомам исчисления ведет к противоречию. Если две
формулы исчисления высказываний выводимы, то они просто эквивалентны. Если же одна выводима, а другая нет, то они не могут
быть дедуктивно эквивалентными, так как присоединение выводимых формул к аксиомам исчисления новых выводимых формул не
дает, поэтому другая не выводимая формула останется не выводимой.
В заключение без доказательства приведем две практически
важные теоремы исчисления.
Теорема 4.7. Любая выводимая в исчислении предикатов формула общезначима.
Теорема 4.8 (Геделя1). Всякая тождественно истинная формула
логики предикатов является выводимой в исчислении предикатов.
§ 4.7. Получение ∀ – формул. Скулемовские функции
Как уже упоминалось в § 3.6 существуют ∀ – формулы, ∃ – формулы и скулемовские нормальные формы (∀∃ – формулы). ∀ – формулы и скулемовские нормальные формы используются в методе
резолюций исчисления предикатов.
Пусть формула сигнатуры Σ имеет вид
∀x1∀x2…∀xn∃y1∃y2…∃ymA(x1, x2,…, xn, y1, y2,…, ym), (4.7.1)
где A(x1, x2,…, xn, y1, y2,…, ym) – бескванторная формула. Покажем, что существуют f1, f2,…, fm – n-местные функциональные
символы, не входящие в сигнатуру Σ, такие что для сигнатуры
Σ/ = Σ ∪ {f1, f2 ,..., fm } справедливо├∀x1∀x2…∀xn∃y1∃y2…∃ym A(x1, x2,…,
xn, y1, y2,…, ym)↔A(x1, x2,…, xn, f1(x1, x2,…, xn), f2(x1, x2,…, xn),…,
fm(x1, x2,…, xn)).
Действительно, рассмотрим некоторый набор (a1, a2,…, an)∈M,
где M – область определения предиката A. Если для этого набора
├∃y1∃y2…∃ym A(a1, a2,…, an, y1, y2,…, ym), то в качестве fi(a1, a2,…, an)
возьмем такие значения bi, что ├A(a1, a2,…, an, b1, b2,…, bm). Если же
1
Курт Фридрих Гедель (1906–1978) – немецкий математик и логик.
171
-∃
/ y1∃y2 ...∃ym A ( a1, a2 ,..., an , y1, y2 ,...ym ), то в качестве fi(a1, a2,…,
an) можно взять произвольные значения.
Рассмотрим теперь более общий случай
∃x1...∃xn1 ∀y1...∀yn2 ∃z1...∃zn3 ∀u1...∀un4 ∃v1...
(4.7.2)
∃vn5 A ( x1,..., y1,..., z1,...,u1,...,v1,...)
Поставим в соответствие каждой переменной, связанной квантором существования, какую-нибудь функцию, определенную на M,
принимающую значения из M и зависящую только от переменных,
связанных квантором всеобщности и предшествующих данному
квантору существования. Если квантор существования стоит первым, то поставим ему в соответствие кокое-нибудь значение переменной из области M. Для рассматриваемой формулы (4.7.2) переменным xi будут поставлены в соответствие константы xi0 , переменным zi – функции fi y1, y2 ,..., yn2 и так далее, переменным
vi – функции ϕi y1, y2 ,..., yn2 ,u1,u2 ,...,un4 . Если эти константы и
функции таковы, что в результате замены ими соответствующих
переменных в предикате A(x1,…, y1,…, z1,…, u1,…, v1,…) полученный
предикат
(
(
(
)
(
)
)
(
)
),...,ϕn ( y1,...,yn ,u1,...,un )),
- A x10 ,..., xn0 , y1,..., yn2 , f1 y1,..., yn2 ,...,fn3 y1,..., yn2 ,u1,...,un4 ,
(
ϕ1 y1,..., yn2 ,u1,...,un4
5
2
4
то используемые константы и функции
(
)
(
)
x10 ,..., xn0 , f1 y1,..., yn2 ,...,fn3 y1,..., yn2 ,
(
)
(
ϕ1 y1,..., yn2 ,u1,...,un4 ,...,ϕn5 y1,..., yn2 ,u1,...,un4
)
называются разрешающими функциями или функциями Скулема
для формулы (4.7.2). Приведем несколько примеров.
Пример 1. Рассмотрим следующую замкнутую предваренную
форму B=∃x∀y∃z∀u∃v∀wA(x, y, z, u, v, w). Обозначим значение x, которое существует в соответствии с первым квантором константой
a, отбросив при этом квантор существования: B=∀y∃z∀u∃v∀wA(a,
y, z, u, v, w). Факт, что для всякого y может быть найдено значение для z, может быть выражен некоторой функцией z=f(y). Тогда
B=∀y∀u∃v∀wA(a, y, f(y), u, v, w). Аналогично, факт, что для любых
172
y, u найдется v, можно выразить скулемовской функцией v=ϕ(y, u),
которая подставляется вместо v: B=∀y∀u∀wA(a, y, f(y), u, ϕ(y, u), w).
Так как все переменные в исходной формуле должны быть связаны, кванторы существования исключены, а порядок кванторов
всеобщности не влияет на значение формулы, то кванторы всеобщности отбрасываются в предположении, что все оставшиеся переменные ими связаны. Тогда B=A(a, y, f(y), u, ϕ(y, u), w), где a, f(y) и
ϕ(y, u) – скулемовские функции.
Пример 2. Для формулы
(
∀x∃z∀y∃u ( y > z → y > x ) ∧ ( u < z ) ∧ ( u < x )
)
построить ∀ – формулу. Здесь формула дана в конкретном виде и
разрешающие функции тоже могут быть выражены конкретно.
Конкретизируем лишь область определения основного предиката.
Пусть M=N. Положим z=f1(x), тогда
(
)
∀x∀y∃u ( y > f1 ( x ) → y > x ) ∧ ( u < f1 ( x ) ) ∧ ( u < x ) .
Аналогично
)
(
u=f2(x, y) и ∀x∀y ( y > f1 ( x ) → y > x ) ∧ ( f2 ( x, y ) < f1 ( x ) ) ∧ ( f2 ( x, y ) < x ) .
Осталось подобрать вид функций f1 и f2 таким образом, чтобы
формула
( y > f1 ( x ) → y > x ) ∧ ( f2 ( x, y ) < f1 ( x ) ) ∧ ( f2 ( x, y ) < x )
была бы истинной при любых x, y∈N. Например, можно взять
f1(x)=x+1, а f2(x)=x. Тогда
( y > x + 1 → y > x ) ∧ ( x < x + 1) ∧ ( x < x ) ≡ 1 ∧ 1 ∧ 1 ≡ 1.
Пример 3. Для формулы
(
∀x∀y∃z∃t P ( x,t ) ∧ P ( y, z )
)
построить ∀ – формулу. Пусть M={0, 1}. z=f1(x, y),
(
)
∀x∀y∃t P ( x,t ) ∧ P ( y, f1 ( x, y ) ) ; t=f2(x, y),
(
)
∀x∀y P ( x, f2 ( x, y ) ) ∧ P ( y, f1 ( x, y ) ) .
173
Здесь P – любой двухместный предикат, поэтому функции f1 и f2
необходимо выбрать так, чтобы формула P ( x, f2 ( x, y ) ) ∧ P ( y, f1 ( x, y ) )
была тождественно истинной. Положим f1(x, y)=f2(x, y)=1, причем
пусть P(x, 0)=1 и P(x, 1)=1. Тогда
P ( x, f2 ( x, y ) ) ∧ P ( y, f1 ( x=
, y ) ) P ( x,1) ∧ P ( y,1) ≡ 1 ∧ 1 ≡ 1.
(
)
Пример 4. ∀x∀y∃z∃v∀t S ( x, y, y ) → ( S ( z,v, x ) ∧ P ( v,t,t ) ) , M=N,
S(x, y, z)=(x+y=z), P(x, y, z)=(x⋅y=z).
Пусть z=f1(x, y), v=f2(x, y), тогда
(
))
(
∀x∀y∀t S ( x, y, y ) → S ( f1 ( x, y ), f2 ( x, y ), x ) ∧ P ( f2 ( x, y ),t,t ) .
Выберем
x - 1, x > 0,
=
z f1=
( x, y )  0, x = 0,

а v=f2(x, y)=1. Тогда
(
)
S ( x, y, y ) → S ( f1 ( x, y ), f2 ( x, y ), x ) ∧ P ( f2 ( x, y ),t,t ) ≡ ( x + y = y ) →
→ ( ( x - 1 + 1 = x ) ∧ (1 ⋅ t = t ) ) ≡ ( x + y = y ) → 1 ∧ 1 ≡ 1.
§ 4.8. Унификация формул исчисления предикатов
Для получения подходящих резольвент в методе резолюций исчисления предикатов применяются подстановки в формулы исчисления. Процесс этих подстановок называется унификацией. Подстановкой сигнатуры Σ называется конечное множество вида {t1x1,
t2x2,…, tnxn} или {(t1, x1), (t2, x2),…, (tn, xn)}, где ti – терм сигнатуры
Σ, отличный от xi (1≤i≤n), а все переменные x1, x2,…, xn различны.
Подстановка, которая не содержит элементов, называется пустой и
обозначается ε. Если дана подстановка θ={g(z)x, ay}, то g(z)x означает, что повсюду переменная x заменяется функцией g(z), а переменная y – предметной константой a. Пусть имеется атомарная формула (литерал) P(x, y, z). Будем обозначать через Pθ частный случай
литерала P, получающийся при использовании подстановки θ. Результат применения подстановки θ к каждому из литералов множества литералов обозначим {Pi}θ. Определяется композиция двух
или нескольких подстановок. Пусть θ={t1x1, t2x2,…, tnxn}, λ={q1y1,
q2y2,…, qmym} – подстановки сигнатуры Σ. Тогда композиция θλ по174
лучается из множества {t1λx1, t2λx2,…, tnλxn, q1y1, q2y2,…, qmym}
вычеркиванием всех элементов tjλxj, для которых tjλ=xj, и всех элементов qiyi, таких, что yi∈{x1, x2,…, xn}. Например, пусть θ={f(y,
z)x, zy}={t1x1, t2x2}, λ={ax, by, cz, dw}={q1y1, q2y2, q3y3, q4y4}.
Тогда {t1λx1, t2λx2, q1y1, q2y2, q3y3, q4y4}={f(b, c)x, cy, ax, by,
cz, dw}. Здесь t1λ=f(b, c)≠x=x1, t2λ=c≠y=x2, y1=x∈{x, y}, y2=y∈{x, y},
y3=z∉{x, y}, y4=w∉{x, y}. Следовательно, вычеркнуть надо ax и by,
тогда композиция двух подстановок θλ будет иметь вид {f(b, c)x, cy,
cz, dw}.
Для подстановок справедливо следующее:
1) (Pθ)λ=Pθλ, т. е. последовательное применение подстановки θ, а
затем постановки λ приводит к тому же результату, что и композиции подстановок;
2) (θλ)δ=θ(λδ), т. е. композиция подстановок ассоциативна.
Подстановка θ сигнатуры Σ называется унификатором для множества {A1, A2,…, An} формул сигнатуры, если A1θ=A2θ=…=Anθ. Множество формул {A1, A2,…, An} сигнатуры Σ называется унифицируемым, если для него существует унификатор.
Наиболее общим или простейшим унификатором (НОУ) для множества формул {A1, A2,…, An} называется унификатор θP, если для
любого другого унификатора θ существует подстановка θ1 такая,
что θ=θPθ1. Существует алгоритм, называемый алгоритмом унификации, который приводит к наиболее общему унификатору для
унифицируемого множества {A1, A2,…, An} или сообщает о невозможности это сделать, если множество формул не унифицируемо.
Пусть {A1, A2,…, An} – непустое множество атомарных формул
сигнатуры Σ. Множеством рассогласований в {A1, A2,…, An} называется множество отличающихся термов в первой слева позиции. Например, для множества
{P ( x,f ( y,g (a)),h ( x )),P ( x,f ( y,x ),y)}
множеством рассогласований является {g(a), x}: в первой слева позиции первого литерала стоит терм g(a), который отличается от
соответствующей (первой слева) позиции второго литерала x. Для
множества
{P ( x,f ( y,z)),P ( x,c),P ( x,f ( y,f (z)))}
1
множество рассогласований {f(y, z), c, f(y, f1(z))} (подчеркнуты в основном множестве формул).
175
Рассмотрим алгоритм унификации для двух литералов. На каждом шаге алгоритма подстановка применяется к каждому из литералов. Пусть P0 – исходное непустое множество атомарных формул,
θ0=ε – пустая подстановка. Обозначим на k-м шаге: Pk – множество
атомарных формул (литералов), Dk – множество рассогласований,
θPk – осуществляемая подстановка.
Шаг 1. k=0, Pk=P0, θPk =
ε.
Шаг 2. Если Pk – одноэлементное множество, то конец алгоритма, ÍÎÓ = θPk . В противном случае находим множество рассогласований Dk.
Шаг 3. Если Dk не содержит переменных, то конец алгоритма,
множество исходных формул не унифицируемо. Если Dk содержит
переменную xk и терм tk и если xk входит в tk, то конец алгоритма,
множество литералов не унифицируемо.
Шаг 4. Если существует xk, tk∈T такие, что xk – переменная, не
входящая в tk, то θ={tkxk}, θPk +1 = θPk θ = θPk {tk xk } и Pk+1=Pk{tkxk}=Pkθ
или Pk+1= P0 θPk +1 .
Шаг 5. k=k+1, переход на начало второго шага.
Если количество литералов больше двух, то последовательно
унифицируется первый со вторым литералом, затем результат унификации унифицируется с третьим литералом и так далее до тех
пор, пока либо все множество литералов не будет унифицировано,
либо получен ответ о том, что это множество не унифицируемо.
Теорема 4.9. Если P0 – конечное непустое унифицируемое множество атомарных формул, то алгоритм унификации всегда заканчивает работу на втором шаге и последняя подстановка θPk
будет НОУ для P0.
{( (
)
}
)
Пример 1. P0 = P x, f y, g ( a ) , h ( x ) , P ( x, f ( y, x ), y ) .
Шаг 1. k=0, P0 – исходное множество, θP0 =
ε.
Шаг 2. P0 – не одноэлементное множество, D0={g(a), x}.
Шаг 3. x∉g(a).
Шаг 4. x – переменная, g(a) – терм, x не входит в g(a),
{
}
{
}
θ = g ( a ) x , θ1 = θP0 θ = g ( a ) x .
P1 = P0 θ1 =
{P ( g (a ),f ( y,g (a )),h ( g (a ))),P ( g (a ),f ( y,g (a )),y)}.
Шаг 5. k=1, переход на второй шаг.
Шаг 2. P1 – не одноэлементное множество, D1={h(g(a)), y}.
176
Шаг 3. y∉h(g(a)).
Шаг 4. θ={h(g(a)y)}, θ2=θ1θ={g(a)x, h(g(a))y},P2=P1θ2={P(g(a),
f(h(g(a)), g(a)), h(g(a))), P(g(a), f(h(g(a)), g(a)), h(g(a)))}={P(g(a), f(h(g(a)),
g(a)), h(g(a)))}.
Шаг 5. k=2, переход на второй шаг.
Шаг 2. P2 – одноэлементное множество, конец алгоритма
НОУ=θ2={g(a)x, h(g(a))y}.
{( (
}
))
Пример 2. P0 = P x, f a, g ( z ), h ( u ) , P ( x, f ( a,u, z ) ) .
Шаг 1. k=0, P0 – исходное множество, θP0 =
ε.
Шаг 2. P0 – не одноэлементное множество, D0={g(z), u}.
Шаг 3. u∉g(z).
Шаг 4. θ={g(z)u}, θ1 = θP0 θ = g ( z ) u ,
P1 = P0 θ1 =
{( (
{
}
)) (
)}
P x, f a, g ( z ), h ( g ( z ) ) , P x, f ( a, g ( z ) ), z .
Шаг 5. k=1, переход на второй шаг.
Шаг 2. P1 – не одноэлементное множество, D1={h(g(z)), z}.
Шаг 3. z∈h(g(z)), конец алгоритма, множество P0 не унифицируемо
§ 4.9. Метод резолюций в исчислении предикатов [13]
Метод резолюций уже рассматривался нами в § 2.7. Его практическое использование в исчислении предикатов значительно сложнее, чем в исчислении высказываний. Теоретическая основа метода
не изменилась. Для того чтобы доказать, что из некоторого множества формул исчисления предикатов логически следует данная формула, берут отрицание этой формулы и добавляют ее к исходному
множеству. После чего доказывают противоречивость формулы, являющейся конъюнкцией формул исходного множества и данной. По
существу, это не что иное, как метод доказательства от противного.
В отличие от исчисления высказываний в исчислении предикатов в методе резолюций есть особенности. Для исключения кванторов исходное множество формул необходимо приводить к ∀ – форме
и унифицировать. После того как получено множество дизъюнктов,
осуществляется процесс опровержения, аналогичный исчислению
высказываний: на каждом элементарном шаге доказательства используется правило, называемое резолюцией.
Основная идея метода состоит в следующем. Для того чтобы доказать, что формула A логически следует из некоторого множества
177
формул Γ={A1, A2,…, An}, нужно доказать, что множество формул
Γ1 = Γ ∪ A противоречиво, т. е. не существует интерпретации,
в которой бы оно удовлетворялось. Множество Γ1 противоречиво
тогда и только тогда, когда формула A1∧A2∧…∧An→A является общезначимой, т. е. истинной в любой интерпретации. Для того чтобы
определить интерпретацию множества формул, необходимо задать
область интерпретации. Однако таких областей для формул исчисления предикатов может быть бесконечно много. Чаще всего в качестве области интерпретации берут множество HΓ, называемое универсумом Эрбрана1.
Теорема 4.10. Если множество формул Γ не удовлетворимо на HΓ,
то оно не удовлетворимо на любой другой области интерпретации.
Универсум Эрбрана рекурсивно строится следующим образом.
1. Множество всех предметных констант из Γ принадлежит HΓ.
Если Γ не содержит ни одной предметной константы, то в HΓ входит
произвольная предметная константа, называемая любым именем.
2. Если термы ti∈HΓ, i=1, 2,…, n и fj – какой-нибудь функциональный символ, зависящий от n переменных и fj∈Γ, то fj(t1, t2,…, tn)∈HΓ.
Например,
{ }
=
Γ
{P ( x ) ∨ Q ( x,y ), P ( f ( x ), P ( f ( x )) ∨ R ( g ( a )))},
{
}
HΓ = a, f ( a ), g ( a ), f ( f ( a ) ), f ( g ( a ) ), g ( f ( a ) ), g ( g ( a ) ),... ;
{P1 ( c1,f ( c2 ),f ( c3 )), P2 ( c1 ), P1 ( x,x,f ( x )), P1 ( x,y,z) ∨ P3 ( x,z), P2 ( x ) ∨
∨ P1 ( y, z,u ) ∨ P3 ( x,u ) ∨ P3 ( x, z ), P3 ( c1, c3 )},
HΓ = {c1, c2 , c3 , f ( c1 ), f ( c2 ), f ( c3 ), f ( f ( c1 ) ),...}.
Γ
Метод резолюций основывается на теореме Эрбрана.
Теорема 4.11 (теорема Эрбрана). Множество дизъюнктов Γ невыполнимо тогда и только тогда, когда имеется конечное невыполнимое множество ΓC константных частных случаев этих дизъюнктов на HΓ.
Таким образом, множество Γ невыполнимо, если можно найти
такие подстановки констант из HΓ вместо предметных переменных,
при которых полученное множество дизъюнктов будет противоречивым.
1
178
Жак Эрбран (1908–1931) – французский математик.
Пусть B – дизъюнкт сигнатуры Σ вида B=A1∨A2∨…∨An∨C или
B = A1 ∨ A2 ∨ ... ∨ An ∨ C, где Ai – атомарные формулы. Предположим, что множество {A1, A2,…, An} имеет НОУ θP. Тогда A1θP∨CθP или
A1θP ∨ CθP называется склейкой B. Пусть B1 и B2 – два дизъюнкта,
не имеющие общих переменных, A1 и A2 – атомарные формулы или
отрицания атомарных формул в B1 и B2. Если A1 и A2 имеют НОУ
θP, то дизъюнкт, получаемый из формулы B1θP∨B2θP вычеркиванием A1θP и A2θP, называется бинарной резольвентой B1 и B2, а формулы A1 и A2 – отрезаемыми. Если B1θP=A1 и B2θP=A2, то бинарная
резольвента B1 и B2 равна нулю. Если формулы B1 и B2 имеют общие переменные, то перед нахождением их бинарной резольвенты
в одной из формул общие переменные надо переименовать.
B1 P1 ( x ) ∨ P2 ( x, c1 ), B2=P1(c2)∨P2(c2, c1). Формулы
Пример 1.=
B1 и B2 общих переменных не имеют. Пусть A1 = P1 ( x ), A2=P1(c2),
A2 = P1 ( c2 ), θ={c2x}, B1θ ∨=
B2θ P1 ( c2 ) ∨ P2 ( c2 , c1 ) ∨ P1 ( c2 ) ∨ P2 ( c2 , c1 ).
Так как A1θ = P1 ( c2 ), A2θ=P1(c2) вычеркнем их. Тогда бинарная резольвента B1 и B2 равна P2(c2, c1).
Резольвентой дизъюнктов B1 и B2 res(B1, B2) называется одна из
следующих:
1) бинарная резольвента B1 и B2;
2) бинарная резольвента склейки B1 и B2;
3) бинарная резольвента B1 и склейки B2;
4) бинарная резольвента склейки B1 и склейки B2.
Пример 2. Найти все возможные резольвенты следующего множества формул
{P1 ( x,z) ∨ P2 ( x ), P1 ( x,z) ∨ P3 ( c ), P4 ( c ), P4 ( x ) ∨ P3 ( x ), P1 ( x,f ( x ))}.
Пусть
=
B1 P1 ( x, z ) ∨ P3 ( c ), B2=P1(x, f(x)), A1 = P1 ( x, z ), A2=P1(x, f(x)),
A2 = P1 ( x, f ( x ) ), θ={f(x)z},
=
B1θ ∨ B2θ P1 ( x, f ( x ) ) ∨ P3 ( c ) ∨ P1 ( x, f ( x ) ).
Бинарная резольвента B1 и B2 равна P3(c), res(B1, B2)=P3(c).
Аналогично, пусть
=
B1 P1 ( x, z ) ∨ P3 ( c )=
, B2 P4 ( x ) ∨ P3 ( x ), A1=P3(c), A2 = P3 ( x ),
179
A2 = P3 ( x ), θ={cx}, B1θ=
∨ B2θ P1 ( c, z ) ∨ P3 ( c ) ∨ P4 ( c ) ∨ P3 ( c ),
res ( B=
1, B2 ) P1 ( c, z ) ∨ P4 ( c ).
Пусть Γ – множество дизъюнктов. Резолютивный вывод C из Γ
есть такая последовательность C1, C2,…, Cn дизъюнктов, что C=Cn и
каждый дизъюнкт Ci или принадлежит Γ, или является резольвентой дизъюнктов, предшествующих Ci.
Как уже упоминалось для доказательства выводимости C из Γ
можно показать, что множество Γ1 = Γ ∪ C является противоречивым. Этот способ доказательства основывается на следующей теореме.
Теорема 4.12 (о полноте метода резолюций). Если Γ – множество
дизъюнктов, то множество замыканий всеобщности формул из Γ
невыполнимо тогда и только тогда, когда существует резолютивный вывод нуля из Γ.
Пример 3. Проверить на противоречивость следующее множество формул:
{}
c2 ), P4 ( c2 )}
{P1 ( c1 ), P2 ( y ) ∨ P3 ( c1, y ), P1 ( x ) ∨ P4 ( y ) ∨ P3 ( x, y ), P2 (=
=
Γ
= {F1, F2 , F3 , F4 , F5 }.
B1=F1, B2=F3, A1=P1(c1=
), A2 P1 (=
x ), θ
{c1 x},
B1θ ∨=
B2θ P1 ( c1 ) ∨ P1 ( c1 ) ∨ P4 ( y ) ∨ P3 ( c1, y ),
=
F6 res ( F1=
, F3 ) P4 ( y ) ∨ P3 ( c1, y ); B1=F2, B2=F6, A1=P3(c1, y)
A2 = P3 ( c1, y ), θ = ε, B1=
θ ∨ B2θ P3 ( c1, y ) ∨ P2 ( y ) ∨ P4 ( y ) ∨ P3 ( c1, y ),
=
F7 res ( F2=
, F6 ) P2 ( y ) ∨ P4 ( y ); B1=F4, B2=F7, A1=P2(c2),
=
A2 P2 (=
y ), θ
{c2 y},
B1θ ∨=
B2θ P2 ( c2 ) ∨ P2 ( c2 ) ∨ P4 ( c2 ),
(
)
=
F8 res
=
=
P4 ( c2 ), P4 ( c2 ) 0.
( F4 , F7 ) P4=
( c2 ); res ( F5 , F8 ) res
Исходное множество дизъюнктов противоречиво.
Пример 4. { ((
)
) (
)
Γ1 = ∀x P1 ( x ) ∧ P2 ( x ) → ∃y ( P3 ( x, y ) ∧ P4 ( y ) ) ,∀x P5 ( x ) → P2 ( x ) ,
(
)}
∃x P5 ( x ) ∧ P1 ( x ) ∧ ∀y ( P3 ( x, y ) → P5 ( y ) ) .
180
Проверим на противоречивость это множество, предварительно
приведя все формулы к ∀-форме.
((
)
)
F1 = ∀x P1 ( x ) ∧ P2 ( x ) → ∃y ( P3 ( x, y ) ∧ P4 ( y ) ) ≡
((
)

≡ ∀x P1 ( x ) ∧ P2 ( x ) ∨ ∃y ( P3 ( x, y ) ∧ P4 ( y ) )  ≡

((
) (
)
≡ ∀x∃y P1 ( x ) ∨ P2 ( x ) ∨ P3 ( x, y ) ∧ P1 ( x ) ∨ P2 ( x ) ∨ P4 ( y ) ) .
Квантор существования опустим, введя скулемовскую функцию
y=f(x), которая по всякому x найдет для него значение y. Тогда получим ∀-формулу
((
))
) (
∀x P1 ( x ) ∨ P2 ( x ) ∨ P3 ( x, f ( x ) ) ∧ P1 ( x ) ∨ P2 ( x ) ∨ P4 ( f ( x ) ) .
Теперь опустим знак квантора всеобщности, предполагая, что
доказательство будет проведено для всякого фиксированного x.
Аналогично,
(
)
F3 = ∃x P5 ( x ) ∧ P1 ( x ) ∧ ∀y ( P3 ( x, y ) → P5 ( y ) ) ≡
(
))
(
≡ ∃x∀y P5 ( x ) ∧ P1 ( x ) ∧ P3 ( x, y ) ∨ P5 ( y ) .
Опустим знак квантора существования, стоящий перед всей
формулой, предположив, что доказательство будет проведено для
некоторого фиксированного x=a, но так как x – любое значение, то
оно будет справедливо для всех случаев. Тогда
(
))
(
∀y P5 ( a ) ∧ P1 ( a ) ∧ P3 ( a, y ) ∨ P5 ( y ) .
Отбросим теперь квантор всеобщности, рассуждая, как в предыдущем случае.
(
)
(
)
F2 = ∀x P5 ( x ) → P2 ( x ) ≡ ∀x P5 ( x ) ∨ P2 ( x ) .
Таким образом, множество дизъюнктов имеет вид
{
Γ = P1 ( x ) ∨ P2 ( x ) ∨ P3 ( x, f ( x ) ), P1 ( x ) ∨ P2 ( x ) ∨ P4 ( f ( x ) ), P5 ( a ),
}
P1 ( a ), P3 ( a, y ) ∨ P5 ( y ), P5 ( x ) ∨ P2 ( x ) =
{F1, F2 , F3 , F4 , F5 , F6 }.
Исследуем это множество на выполнимость с помощью метода
резолюций.
181
Найдем
res(F1, F4). A1 = P1 ( x ), A2=P1(x), θ={ax},
F1θ ∨=
F4 θ P1 ( a ) ∨ P2 ( a ) ∨ P3 ( a, f ( a ) ) ∨ P1 ( a ),
F7=res(F1, F4)=P2(a)∨P3(a, f(a));
res(F5, F7)=? A1 = P3 ( a, y ), A2=P3(a, f(a)), θ={f(a)y},
=
F5θ ∨ F7 θ P3 ( a, f ( a ) ) ∨ P5 ( f ( a ) ) ∨ P2 ( a ) ∨ P3 ( a, f ( a ) ),
F8=res(F5, F7)=P2(a)∨P5(f(a));
res(F6, F7)=? A2 = P2 ( x ), A1=P2(a), θ={ax},
F6 θ ∨=
F8 θ P2 ( a ) ∨ P5 ( f ( a ) ) ∨ P5 ( a ) ∨ P2 ( a ),
=
F9 res ( F6=
, F8 ) P5 ( a ) ∨ P5 ( f ( a ) );
res(F2, F4)=? A1 = P1 ( x ), A2=P1(a), θ={ax},
F2θ ∨=
F4 θ P1 ( a ) ∨ P2 ( a ) ∨ P4 ( f ( a ) ) ∨ P1 ( a ),
F10=res(F2, F4)=P2(a)∨P4(f(a));
res(F6, F8)=? A2 = P2 ( x ), A1=P2(a), θ={ax},
F6 θ ∨ F8 θ = P5 ( a ) ∨ P2 ( a ) ∨ P2 ( a ) ∨ P5 ( f ( a ) ),
=
F11 res ( F6=
, F8 ) P5 ( a ) ∨ P5 ( f ( a ) );
res(F5, F6)=? A2 = P5 ( x ), A1=P5(y), θ={xy},
F5θ ∨ F6 θ= P3 ( a, x ) ∨ P5 ( x ) ∨ P5 ( x ) ∨ P2 ( x ),
=
F12 res ( F5=
, F6 ) P2 ( x ) ∨ P3 ( a, x );
res(F7, F12)=? A2 = P2 ( x ), A1=P2(a), θ={ax},
F7 θ ∨ =
F12θ P2 ( a ) ∨ P3 ( a, f ( a ) ) ∨ P2 ( x ) ∨ P3 ( a, a ),
=
F13 res ( F=
7 , F12 ) P3 ( a, a ) ∨ P3 ( f, f ( a ) ).
182
Нахождение других резольвент также не дает вывод нуля, следовательно, исходное множество выполнимо, т. е. в сигнатуре Σ={P1,
P2, P3, P4, P5, f, a} формулы из множества Γ1 истинны.
Пример 5. Докажем правильность рассуждения 3.4.11 (∀x(P(x)→
R(x))∧∀x(P(x)→Q(x)))→(∃xP(x)→∃x(Q(x)∧R(x))). По методу резолюций,
чтобы A1∧A2∧…∧An→A≡1, необходимо, чтобы A1, A2 ,..., An , A -.
Преобразуем посылку и следствие основной формулы:
{
}
(∀x ( P ( x ) ∨ R ( x )) ∧ ∀x ( P ( x ) ∨ Q ( x ))) ≡
≡ ( ∀x ( P ( x ) ∨ R ( x ) ) ∧ ( P ( x ) ∨ Q ( x ) ) ),
∃xP ( x ) ∨ ∃x ( Q ( x ) ∧ R ( x ) ) ≡ ∀xP ( x ) ∨ ∃x ( Q ( x ) ∧ R ( x ) ) ≡ ∀xP ( x ) ∨
(
)
∨∃y ( Q ( y ) ∧ R ( y ) ) ≡ ∀x∃y P ( x ) ∨ ( Q ( y ) ∧ R ( y ) ) .
Найдем теперь отрицание следствия импликации
(
)
(
(
))
∀x∃y P ( x ) ∨ ( Q ( y ) ∧ R ( y ) ) ≡ ∃x∀y P ( x ) ∧ Q ( y ) ∨ R ( y ) .
Квантор существования отбросим, подставив вместо предметной
переменной x константу a. Отбросив теперь в посылке и следствии
кванторы всеобщности, предположив, что доказательство проводится для любых значений предметных переменных, получим множество дизъюнктов
=
Γ1
y )}
{P ( x ) ∨ R ( x ), P ( x ) ∨ Q ( x ), P ( a ),Q ( y ) ∨ R (=
{F1, F2 , F3 , F4 }.
Для того чтобы доказать, что исходное рассуждение правильно,
необходимо из Γ1 получить резолютивный вывод нуля:
F5=res(F1, F3)=R(a),
=
F6 res
=
( F4 , F5 ) Q ( a ),
=
F7 res
=
( F2 , F6 ) P ( a ), res(F3, F7)=0.
§ 4.10. Практическое занятие № 10.
Унификация формул. Метод резолюций в исчислении предикатов
4.10.1. Построить все попарные композиции θiθj подстановок θ1={F1(y)x, F2(x, z)y, c1z}, θ2={F2(F1(x), y)x, F1(c1)y, F1(z)z},
θ3={F2(c1)x, c2y, xz} и θ4={yx, zy, xz} сигнатуры Σ={c1, c2, F1, F2}.
183
4.10.2. Определить, унифицируемо ли множество Γ. В случае
унифицируемости найти наиболее общий унификатор:
а) Γ={P(c, x, F2(F1(y))), P(z, F2(z), F2(u))};
б) Γ={P(F1(c), F2(x)), P(y, y)};
в) Γ={P(c, x), P(c, c)};
г) Γ={P(c, x, F(x)), P(c, y, y)};
д) Γ={F(u, F1(x, y)), F(y, z), F(u, F1(c, z))}.
4.10.3. Определить, имеют ли склейки следующие дизъюнкты.
Если склейки имеются, найти их:
а) P ( x ) ∨ P ( F ( y ) ) ∨ P2 ( x );
б) P1(x)∨P2(y)∨P1(F(x));
в) F1(x)∨F2(y)∨F1(F2(c))∨F1(z)∨F2(z).
4.10.4. Найти все возможные резольвенты следующих пар дизъюнктов:
а) P1 ( x ) ∨ P2 ( x ), P1 ( c ) ∨ P3 ( x );
б) P1 ( x ) ∨ P2 ( x, x ), P2 ( c, F ( c ) );
в) P ( a ) ∨ Q ( x, b ), P ( x ) ∨ Q ( b, y ).
4.10.5. Проверить выполнимо ли множество формул:
 F1 =∀x∀y ( P1 ( x, y ) → P2 ( x, y ) ),

а)  F2 =∀x∀y ( P2 ( x, y ) → P3 ( x, y ) ),

F3 =∃x∃yP1 ( x, y );


F1 = P1 ( c1, f ( c2 ), f ( c3 ) ),

F2 = P2 ( c1 ),


F3 = P1 ( x, x, f ( x ) ),

б) 
F4 P1 ( x, y, z ) ∨ P3 ( x, z ),
=


P2 ( x ) ∨ P1 ( y, z,u ) ∨ P3 ( x,u ) ∨ P3 ( x, y ) ∨ P3 ( x, z ),
 F5 =

F6 = P3 ( c1, c3 );

(
(
((
)
в) F1 = ∀x P ( x ) → ∀y P ( y ) → Q ( x ) → Q ( y ) ∨ ∀zP ( z )
184
))).
§ 4.11. Некоторые проблемы аксиоматического
исчисления предикатов
Разрешимость. Проблема, заключающаяся в отыскании алгоритма, решающего ту или иную серию однотипных задач, называется алгоритмической проблемой разрешимости. Неразрешимость
алгоритмической проблемы означает, что такой алгоритм невозможен. Простейший пример проблемы разрешимости – проблема разрешимости алгебры логики, которая состоит в отыскании алгоритма, позволяющего для любой формулы алгебры логики установить,
является ли она тождественно истинной, тождественно ложной или
выполнимой. Для алгебры логики эта проблема решена.
Проблема разрешимости для исчисления предикатов, в отличие
от исчисления высказываний, оказалась связанной с серьезными
трудностями, зависящими от точного определения понятия алгоритма. После появления точного определения алгоритма, появилась возможность доказать, что проблема разрешимости для исчисления предикатов неразрешима, т. е. необходимый в этой проблеме
алгоритм невозможен (см. теорему 3.8).
Непротиворечивость и независимость. Противоречивым называется такое исчисление, в котором какая-либо формула доказуема
вместе со своим отрицанием. Эта проблема для исчисления предикатов решается в положительном смысле. Для доказательства
непротиворечивости достаточно обнаружить какую-нибудь не выводимую формулу в исчислении предикатов. Можно показать, что
всякой выводимой формуле исчисления предикатов соответствует
выводимая формула исчисления высказываний, для которого проблема непротиворечивости решена. Отсюда немедленно следует непротиворечивость исчисления предикатов. В самом деле, если бы
исчисление предикатов было противоречиво, то в нем всякая формула была бы выводимой. В частности, была бы выводима формула
A, состоящая из одной буквы. Но тогда A была бы выводима и в исчислении высказываний, что не верно.
Помимо непротиворечивости возникает вопрос о выводимости
каждой аксиомы из остальных. Это вопрос независимости системы
аксиом. Система аксиом исчисления предикатов – независимая система. Независимость аксиом говорит о том, что в системе нет лишних аксиом. Эту независимость можно установить посредством интерпретации. Метод интерпретаций, однако, приложим к вопросам
независимости только в известных границах. В § 2.8 обсуждался
185
вопрос независимости аксиом исчисления высказываний. Вопрос о
независимости аксиом обычно ставится для непротиворечивых систем. В этом случае ограничиваются сведением независимости к вопросу о непротиворечивости данной системы аксиом.
Полнота в узком смысле. Логическая система называется полной в узком смысле, если нельзя без противоречия присоединить
к ее аксиомам в качестве новой аксиомы никакую не выводимую
в ней формулу так, чтобы полученная при этом система была бы непротиворечивой.
В отличие от исчисления высказываний, исчисление предикатов оказывается неполным в узком смысле. К его аксиомам можно присоединить без противоречия недоказуемую в нем формулу
∃xF(x)→∀xF(x). Все предметы тождественны – таков содержательный смысл этой формулы.
Приведем для доказательства лишь соображения, носящие общий характер. Каждая выводимая формула исчисления высказываний имеет выводимый аналог в исчислении предикатов и может
быть присоединена к аксиомам этого исчисления. Например, такая
A→A. Она выводима в исчислении высказываний. Если область
определения M предиката F(x) состоит из одного элемента x, то A→A
превращается в исчислении предикатов в формулу ∃xF(x)→∀xF(x),
которая будет истинной. Она не будет истинной, если M содержит
больше чем один элемент. Однако из общелогических положений
нельзя заключить, что область M содержит более одного элемента.
Таким образом, исчисление предикатов неполно в узком смысле.
Полнота в широком смысле. Логическая система полна в широком смысле, если любая тождественно истинная формула в нем доказуема. На основании теоремы Геделя проблема полноты в широком смысле решается для исчисления предикатов положительным
образом.
Все выводимые формулы исчисления предикатов представляют собой тождественно истинные высказывания. Обратно, каждая
тождественно истинная формула выводима в исчислении предикатов. Из этого ясно, что в исчислении предикатов нельзя вывести
сколько-нибудь содержательное по существу высказывание, в частности, математическое. Однако если к аксиомам исчисления предикатов присоединить какие-либо не выводимые формулы в качестве
новых аксиом, то получится другое исчисление, в котором выводимы, помимо тождественно истинных формул, и другие формулы.
Средствами этого исчисления могут быть описаны различные ма186
тематические дисциплины, например, арифметика, теория чисел,
геометрия, теория множеств. Любая дедуктивная система может
быть выражена указанными средствами. При этом любая выбранная система аксиом должна быть внутренне непротиворечива и независима, то есть каждая из аксиом должна быть не выводима из
остальных.
187
ЧАСТЬ II
ОТВЕТЫ, РЕШЕНИЯ, УКАЗАНИЯ
1. АЛГЕБРА ВЫСКАЗЫВАНИЙ
Ответы и решения задач практического занятия №1
1.5.1. Все предложения, кроме предложения 6 являются высказываниями. Высказывание 2 считается истинным в геометрии Евклида и ложным в геометрии Лобачевского. Всказывание 3 ложно.
Высказывания 1, 4 и 7 истинны. В текущее время неизвестно истинно или ложно высказывание 5.
1.5.2. 1) p = {число 174 не делится на 3} ложно; p∨q={число 174 делится на 3 или идет дождь} истинно; p∧q={число 174 делится на 3
и идет дождь} ложно; p→q={если 174 делится на 3, то идет дождь}
ложно; p → q =
{если 174 не делится на 3, то идет дождь} истинно;
p↔q=
{174 делится на 3 тогда и только тогда, когда не идет дождь}
истинно.
2) q = {неверно, что если число простое, то оно нечетное}, если
число равно двум, высказывание истинно, во всех остальных случаях оно ложно; q → p =
{неверно, что если истинно, что если число
простое, то оно нечетное, тогда конъюнкция коммутативна≡если
число простое, то оно нечетное и конъюнкция некоммутативна}
ложно; p ∧ q → p – истинное высказывание; ( q ∨ p ) → q ≡ q - смотрите первый случай.
1.5.3. Высказываниями являются второе и третье утверждение,
причем второе ложно, а третье истинно.
1.5.4. Противоречивы данные 2 и 3.
1.5.5. Не формулами являются последовательности 1 и 4.
1.5.6. 1) A0, A1, A2, A0 , A0→A1, A1→A2, A0 ∨ A2 , (A0→A1)∨(A1→A2);
(
)
2) A1, A2, A3, A1, A2 , A1 → A2 , A2↔ A3;
3) A1, A2, A3, B, C, B∨C, A3∧(B∨C), A2∨A3∧(B∨C).
1.5.7. Тождественно истинными являются формулы 2 и 3.
1.5.8. x→y=1, z→(x→y)≡z→1=1 всегда; x → y → y ≡ 1 → y ≡ 0 → y =
1
всегда;
 1, z = 1,
 z = 0.
(x → y) → z ≡ 1 → z =

0,
188
1.5.9. Таблицы истинности всех требуемых формул представлены в табл. 1.1–1.8.
1)
Таблица 1.1
A1
A2
A1
A2
A1 ∨ A2
A1 → A2
1)
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
0
1
1
2)
Таблица 1.2
A1
A2
A3
A1→A2
A1→A3
A2→A3
A1→(A2→A3)
(A1→A2)→(A1→A3
2)
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3)
Таблица 1.3
P
1
1
0
0
Q
1
0
1
0
P∧Q
1
0
0
0
P↔Q
1
0
0
1
3)
1
1
1
0
4)
Таблица 1.4
P
Q
P
Q→P
P ∧ (Q → P)
4)
1
1
0
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
189
5)
Таблица 1.5
(
P
Q
P
Q∨P
Q
Q→P
P∧ Q∨P
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
)
( P ∧ (Q ∨ P )) ∧ (Q → P )
5)
1
0
0
0
1
0
1
0
6)
Таблица 1.6
P
Q
R
Q∧P
Q∧P
P→Q∧P
P→Q∧P
P∨R
6)
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
7)
Таблица 1.7
(
P
Q
P
Q∨P
Q
Q→P
P∧ Q∨P
1
1
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
0
0
0
)
(Q → P) ∨ Q
7)
1
1
1
0
1
0
0
0
8)
Таблица 1.8
P
1
1
0
0
190
Q
1
0
1
0
P→Q
1
0
1
1
Q∧P
1
0
0
0
P→(Q∧P)
1
0
1
1
8)
1
0
1
1
1.5.10. Упростим формулы путем равносильных преобразований. Тогда будет очевиден набор переменных, при которых формула
может принимать логическое значение 1.
1) P → P ≡ P ∨ P ≡ P ∧ P ≡ P, P=1;
) (
(
)
2) ( Q → ( P ∧ R ) ) ∧ ( ( P ∨ R ) → Q ) ≡ Q ∨ ( P ∧ R ) ∧ ( P ∨ R ) ∨ Q ≡
(
) (
) ((
)) ((
) (
) (
))
≡ Q ∨ (P ∧ R) ∧ (P ∨ R) ∧ Q ≡ Q ∨ P ∧ Q ∨ R ∧ P ∧ Q ∨ R ∧ Q ≡
(
) (
)
≡ Q ∨ PQ ∨ RQ ∨ PR ∧ PQ ∨ RQ ≡ PQ ∨ PQ ∨ PQR ∨ PQR ∨ QR ∨
∨ PQR ∨ QR ∨ PQR ≡ PQR ∨ QR ∨ PQ ≡ QR ( P ∨ 1) ∨ PQ ≡
≡ QR ∨ PQ ≡ Q ( P ∨ R ).
Q=0, P=R=1;
(
) (
)
3) ( P → Q ) → ( Q → P ) ≡ P ∨ Q ∨ Q ∨ P ≡ P ∨ Q ∨ Q ∨ P ≡
≡ Q ( P ∨ 1) ∨ P ≡ P ∨ Q.
P=1, Q=1;
)
(
1.5.11. P ∨ P ∧ Q → R ≡ ( 0 ∧ Q ) → R ≡ 0 → R ≡ 1 ∨ R ≡ 1. Таким образом, данное высказывание является тождественно истинным и
не зависит от того, истинны или ложны высказывания P, Q и R .
1.5.12. Тождественная истинность формул доказывается либо непосредственно по таблицам истинности, либо путем равносильных
преобразований. Для формул 1 и 8 приведены таблицы истинности
(табл. 1.9 и 1.10).
1)
Таблица 1.9
P
Q
P∧Q
Q→(P∧Q)
P→(Q→(P∧Q))
1
1
1
1
1
1
0
0
1
1
0
1
0
0
1
0
0
0
1
1
((
)
)
(
)
(
)
2) ( P → Q ) → P → Q → P ≡ P ∨ Q ∨ P ∨ Q ∨ P ≡ P ∧ Q ∨
(
)
∨ ( P ∧ Q ) ∨ P ≡ PQ ∨ PQ ∨ P ≡ P Q ∨ Q ∨ P ≡ P ∨ P ≡ 1;
191
( P → R ) → ((Q → R ) → (( P ∨ Q ) → R )) ≡ P ∨ R ∨
3)
(Q ∨ R ∨
) (( ) (( ) ) ) ≡ PR ∨ QR ∨
∨ PQ ∨ R ≡ PR ∧ ( Q ∨ Q ) ∨ QR ( P ∨ P ) ∨ PQ ( R ∨ R ) ∨ P ∧
∧ ( R ∨ R ) ∧ ( Q ∨ Q ) ≡ PQR ∨ PQR ∨ PQR ∨ PQR ∨ PQR ∨
∨ PQR ∨ PQR ∨ PQR ≡ PQ ( R ∨ R ) ∨ PQ ( R ∨ R ) ∨ PQ ( R ∨ R ) ∨
∨ PQ ( R ∨ R ) ≡ P ( Q ∨ Q ) ∨ P ( Q ∨ Q ) ≡ P ∨ P ≡ 1;
) (
∨P ∨ Q ∨ R ≡ P ∧ R ∨ Q ∧ R ∨ P ∧ Q ∨ R
4) ( Q → R ) → ( ( P ∨ Q ) → ( P ∨ R ) ) ≡ Q ∨ R ∨ P ∨ Q ∨ ( P ∨ R ) ≡
(
) (
)
( )
∨ PQ ( R ∨ R ) ∨ P ( Q ∨ Q )( R ∨ R ) ∨ R ( P ∨ P )( Q ∨ Q ) ≡ PQR ∨
≡ Q ∨ R ∨ P ∧ Q ∨ ( P ∨ R ) ≡ QR ∨ PQ ∨ P ∨ R ≡ QR P ∨ P ∨
∨ PQR ∨ PQR ∨ PQR ∨ PQR ∨ PQR ∨ PQR ∨ PQR ∨
∨ PQR ∨ PQR ∨ PQR ∨ PQR ∨ PQR ≡ PQR ∨ PQR ∨ PQR ∨
(
)
(
)
∨ PQR ∨ PQR ∨ PQR ∨ ∨ PQR ∨ PQR ≡ PQ R ∨ R ∨ PQ R ∨ R ∨
(
)
(
)
(
)
(
)
∨ PQ R ∨ R ∨ PQ R ∨ R ≡ Q P ∨ P ∨ Q P ∨ P ≡ Q ∨ Q ≡ 1;
(
) ((
) )
(
∨ Q ≡ Q ( P ∨ P ) ∨ Q ≡ Q ∨ Q ≡ 1;
)
5) Q → P → Q → P → Q ≡ Q ∨ P ∨ Q ∨ P ∨ Q ≡ QP ∨ QP ∨
6) P → ( P → Q ) ≡ P ∨ P ∨ Q ≡ 1 ∨ Q ≡ 1;
)) ≡
≡ PQ ∨ QR ∨ P ∨ R ≡ PQ ( R ∨ R ) ∨ QR ( P ∨ P ) ∨ P ( Q ∨ Q )( R ∨ R ) ∨
∨ R ( P ∨ P )( Q ∨ Q ) ≡ PQR ∨ PQR ∨ PQR ∨ PQR ∨ PQR ∨ PQR ∨
∧ PQR ∨ PQR ∨ PQR ∨ PQR ∨ PQR ∨ PQR ≡ PQ ( R ∨ R ) ∨
∨ PQ ( R ∨ R ) ∨ PQ ( R ∨ R ) ∨ PQ ( R ∨ R ) ≡ P ( Q ∨ Q ) ∨
∨ P ( Q ∨ Q ) ≡ P ∨ P ≡ 1;
(
(
7) ( P → Q ) → ( ( Q → R ) → ( P → R ) ) ≡ P ∨ Q ∨ Q ∨ R ∨ P ∨ R
192
8)
Таблица 1.10
P
P
P
P→P
1
0
1
1
0
1
0
1
1.5.13.
1)
(( P → ( Q ∧ R )) → ( Q → P )) → Q ≡ P ∨ QR ∨ ( Q ∨ P ) ∨ Q ≡
≡ P ∧ QR ∨ Q ∨ P ∨ Q ≡ P ∧ ( Q ∨ R ) ∨ Q ∨ P ∨ Q ≡
≡ PQ ∨ PR ∨ Q ∨ P ∨ Q ≡ Q ∨ PQR ≡ Q (1 ∨ PR ) ≡ Q.
Тогда, например, если P и R – любые, а Q=1, то исходная формула
ложна;
2) ( ( P ∨ Q ) ∨ R ) → ( ( P ∨ Q ) ∧ ( P ∨ R ) ) ≡ P ∨ Q ∨ R ∨
∨ ( P ∨ PQ ∨ PR ∨ QR ) ≡ PQR ∨ ( P ∨ QR ) ≡ PQR ∨ P ∨ QR.
Тогда P=Q=0, R=1.
3) Для формулы 3 таблица истинности такова (табл.1.11):
Таблица 1.11
P
Q
P∨Q
P
P∧Q
P∧Q
(P ∧ Q) ∨ (P ∧ Q)
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
Из табл. 1.11 видно, что P=1. Q=0.
 P ∨ 0 =
1,
1.5.14. 1) пусть, например, Q∨R=0, тогда Q=0 и R=0 и 
то
P
∨
0
=
1,

 P = 0,
есть 
что невозможно;
 P = 1,
2) предположим, что P → R =
0. Тогда, очевидно, P=1 и R=1, то
есть R = 0. Следовательно, P ∨ Q =1 ∨ Q =0 ∨ Q =1 и R ∨ Q =0 ∨ Q =1,
193
то есть Q=1 и Q = 1 одновременно, что невозможно. Таким образом,
1;
всегда P → R ≠ 0, то есть P → R =
3) пусть R∨W=0. Отсюда по таблице истинности R=0, W=0. Но
1,
P → 0 =
P→R=1 и Q→W=1, то есть 
Тогда Q=0 и P=0, P∨Q=0≠1. По1.
Q → 0 =
лучено противоречие, то есть R∨W=1.
1.5.15. Таблицы истинности (табл. 1.12) для двухместных операций имеют следующий вид:
Таблица 1.12
P
Q
Операция
1
1
0
0
1
0
1
0
*
*
*
*
Все эти таблицы различаются только последним столбцом, элементы которого заменены значком *. Вместо * может стоять 1 или 0,
причем возможны любые комбинации. Различных комбинаций будет
24=16 (это размещения с повторениями из двух элементов по четыре).
1.5.16. A ∨ B ≡ A ∧ B, A ∧ B ≡ A ∨ B.
1.5.17. Составим таблицу истинности для операции ⊕, начиная
с тех строк, для которых ⊕ истинна. Каждой такой строке поставим в соответствие конъюнкцию тех простых высказываний, которые в этой строке истинны, и отрицание остальных. Затем найдем
дизъюнкцию этих конъюнкций. Каждая из построенных конъюнкций будет истинна только при тех значениях истинности простых
высказываний, которые стоят в соответствующей ей строке. Ясно,
что логическая операция ⊕ определяется множеством наборов,
на которых полученное сложное высказывание истинно и только
на них, на остальных оно ложно. Например, для эквиваленции:
A1↔A2≡(A1→A2)∧(A2→A1). Из табл. 1.13 видно, что
Таблица 1.13
194
A1
A2
A1↔A2
1
1
0
0
1
0
1
0
1
0
0
1
( A1 ∧ A2 ) ∨ ( A1 ∧ A2 ) ≡ ( A1 ∨ ( A1 ∧ A2 ) ) ∧ ( A2 ∨ ( A1 ∧ A2 ) ) ≡
≡
(( A1 ∨ A1 ) ∧ ( A1 ∨ A2 )) ∧ (( A2 ∨ A1 ) ∧ ( A2 ∨ A2 )) ≡ ( A1 ∨ A2 ) ∧
(
)
∧ A2 ∨ A1 ≡ ( A1 → A2 ) ∧ ( A2 → A1 ) ≡ A1 ↔ A2 .
1.5.18.
1) A → B ≡ A ∨ B ≡ A ∧ B ≡ A ∧ B;
2) A ∧ ( A ∨ C ) ∧ ( B ∨ C ) ≡ A ∧ ( B ∨ C ) ∧ ( A ∨ C ) ≡
≡ (( A ∨ B) ∧ ( A ∨ C )) ∧ ( A ∨ C ) ≡ (( A ∧ B) ∧ ( A ∨ C )) ∨
∨ (( A ∧ C ) ∧ ( A ∨ C )) ≡ ( A ∧ ( A ∧ B) ∨ C ∧ ( A ∧ B)) ∨
∨ ( A ∧ ( A ∧ C ) ∨ C ∧ ( A ∧ C ) ) ≡ ( AB ∨ ABC ) ∨ ( A ∨ AC ) ≡
≡ AB (1 ∨ C ) ∨ AC ≡ AB ∨ AC ≡ ( A ∧ B ) ∨ ( A ∧ C );
3) (A∧A)≡AA≡A;
4) (A∨(B∧A))≡A или по табл. 1.14
Таблица 1.14
A
B
B∧A
A∨(B∧A)
1
1
0
0
1
0
1
0
1
0
0
0
1
1
0
0
5) Логические значения левой и правой частей формулы 5 приведены в табл.1.15.
Таблица 1.15
A
B
C
B∧C
A∨(B∧C)
A∨B
A∨C
(A∨B)∧(A∨C)
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
1
1
0
0
0
195
(( A ∨ B) ∧ ( A ∨ B)) ≡ (( A ∧ B) ∨ ( A ∨ B)) ∧ (( A ∧ B) ∨
∨ ( A ∨ B)) ≡ ((( A ∨ B) ∨ A ) ∧ (( A ∨ B) ∨ B)) ∧ ((( A ∨ B) ∨ A ) ∧
∧ ( ( A ∨ B ) ∨ B ) ) ≡ ( ( A ∨ B ) ∧ ( A ∨ B ) ) ∧ (1 ∧ 1) ≡ A ∨ B;
6) ( A ∧ B ) ∨
7) Логические значения левой и правой частей формулы 7 приведены в табл.1.16.
Таблица 1.16
A
B
A∨B
A∨B
A
B
A∧B
1
1
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
1
1.5.19. Пусть дана исходная формула A. Если она содержит импликацию, то эту логическую связку можно убрать, используя эквивалентность A1 → B1 ≡ A1 ∨ B1, где A1 и B1`- подформулы формулы A. Отрицание всегда можно отнести к простым высказываниям
по формулам A1 ∧ B1 ≡ A1 ∨ B1 и A1 ∨ B1 ≡ A1 ∧ B1 и используя следующую эквивалентность: если C≡D, то L(C)≡L(D).
Ответы и решения практического занятия №2
1.11.1. Пусть формуле A1 соответствует функция f(A1), формуèñòèíà,
ле A2 соответствует булева функция f(A2). Если Ai = 
 ëîæü,
1,
то f ( Ai ) = 
Тогда f A = f ( A ), f(A1∧A2)=f(A1)∧f(A2), f(A1∨A2)=
0.
=f(A1)∨f(A2), f(A1→A2)=f(A1)→f(A1). Видно, что значению истина всегда соответствует значение 1, значению ложь соответствует 0.
1.11.2. Это число равно числу двоичных наборов длины 2n. Действительно, в истинностной таблице функции f(x1, x2,…, xn) фиксируем каким-либо способом порядок строчек, то есть порядок наборов (α1, α2,…, αn) значений аргументов x1, x2,…, xn. Тогда функция
f(x1, x2,…, xn) однозначно определяется своим последним столбцом,
то есть набором из 2n нулей и единиц. Различных функций столько,
сколько имеется
различных наборов длины 2n из двух элементов 0
2n
и 1, то есть 2 .
( )
196
1.11.3. f1 ( x1, x2 , x3 ) = x1x2 x3 ∨ x1 x2 x3 ∨ x1x2 x3 ∨ x1 x2 x3 ≡
(
)
(
)
x2 x3 x1 ∨ x1 ∨ x2 x3 x1 ∨ x1 ≡ x2 x3 ∨ x2 x3 ;
f2 ( x1, x2 , x3 ) = x1x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 ∨ x1x2 x3 ∨ x1x2 x3 ∨
(
)
(
)
∨ x1 x2 x3 ∨ x1 x2 x3 ≡ x2 x3 x1 ∨ x1 ∨ x1 x2 x3 ∨ x3 ∨ x1x2 x3 ∨ x1 x2 x3 ∨
(
)
∨ x1 x2 x3 ≡ x1x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 ∨ x1x2 ∨ x2 x3 ≡ x1 x2 ∨ x2 x3 ∨
(
)
(
)
∨ x2 x3 ∨ x1x3 ∨ x1x2 x3 ≡ x1 ( x2 ∨ x3 ) ∨ x2 x1 ∨ x3 ∨ x1x2 x3 ≡
(
)
≡ x1x2 ∨ x1x3 ∨ x2 x1 ∨ x2 x3 ∨ x1x2 x3 ≡
≡ x2 x1 ∨ x1 x3 ∨ x1x3 ∨ x1 x2 ∨ x2 x3 ≡ x1x2 ∨ x2 x3 ∨ x1x3 ∨ x1 x2 ∨ x2 x3 ≡
≡ x1 ( x2 ∨ x3 ) ∨ x2 ( x1 ∨ x3 ) ∨ x2 x3 ;
(
)
f3 ( x1, x2 , x=
3 ) x1 x2 x3 ∨ x1 x2 x3 ≡ x1 x2 x3 ∨ x3 ≡ x1 x2 ;
(
)
f4 ( x1, x2 , x3=
) x1x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 ≡ x1x3 x2 ∨ x2 ∨
(
)
(
)
∨ x2 x1 x3 ∨ x1x3 ≡ x1x3 ∨ x2 x1 x3 ∨ x1x3 .
1.11.4. 1) f ( 0, y, z ) = ( 0 ∧ y ) ∨ y ∧ z ≡ yz, f (1, y, z ) = (1 ∧ y ) ∨ y ∧ z ≡ y ∨ yz ≡
y ∨ y ∧ ( y ∨ z ) ≡ y ∨ z, f(0, y, z)≠f(1, y, z); f(x, 0, z)=(x∧0)∨(1∧z)≡z, f(x,
1, z)=(x∧1)∨(0∧z)≡x, f(x, 0, z)≠f(x, 1, z); f ( x, y,0 ) = ( x ∧ y ) ∨ y ∧ 0 ≡ xy,
f ( x, y,1) = ( x ∧ y ) ∨ y ∧ 1 ≡ y ( x ∧ y ) ≡ x ∨ y ∧ y ∨ y ≡ x ∨ y,
f(x, y,
0)≠f(x, y, 1). Все переменные существенны;
(
(
)
(
)
)
(
(
) (
)
)
(
)
2) f(0, y)=(0∧y)∨0≡0, f(1, y)=(1∧y)∨1≡1, f(0, y)≠f(1, y), f(x, 0)=(x∧0)∨x≡
≡0∨x≡x, f(x, 1)=(x∧1)∨x≡x∨x≡x, f(x, 0)=f(x, 1). x – существенная переменная, y – фиктивная;
3) f ( x, y, z ) = ( x → ( y → z ) ) → ( ( x → y ) → ( x → z ) ) ≡
( ) (
( ))
(( ) ( ))
≡ x ∧ ( y ∧ z ) ∨ ( ( x ∨ x ) ∧ ( x ∨ y ) ∨ z ) ≡ xyz ∨ ( x ∨ y ∨ z ) ≡ ( x ∨ xyz ) ∨
∨ y ∨ z ≡ x ∨ ( yz ∨ y ) ∨ z ≡ x ∨ y ∨ z ∨ z ≡ x ∨ y ∨ 1 ≡ 1.
≡ x∨ y∨z ∨ x∨ y∨ x∨z ≡ x∧y∨z∨ x∧y ∨ x∨z ≡
197
Все три переменные в формуле – фиктивные, формула тождественно истинная.
1.11.5.
1) x ∧ y ≡ x ∨ y, x → y ≡ x ∨ y;
2) x ∧ y ≡ x ∧ y ≡ x ∨ y ≡ x → y, x ∨ y ≡ x ∨ y ≡ x → y;
3) x ≡ x ∨ 0 ≡ x → 0;
4) x ∨ y ≡ ( x ∨ y ) ∧ y ∨ y ≡ x ∧ y ∨ y ≡ x ∧ y ∨ y ≡
(
) (
)
≡ x ∨ y ∨ y ≡ ( x → y ) → y.
( )
1.11.6.
1) ДНФ:
(( A → B) → ( C → A )) → ( B → C ) ≡ A ∨ B ∨ (C ∨ A ) ∨ ( B ∨ C ) ≡
(( A ∨ B ) ∧ (C ∧ A )) ∨ B ∨ C ≡
≡ (( A ∨ B) ∧ C ∧ A ) ∨ B ∨ C ≡ ((( A ∧ A ) ∨ ( A ∧ B )) ∧ C ) ∨ B ∨ C ≡
≡ A∨ B∧C∨ A∨ B∨C ≡
≡ AC ∨ ABC ∨ B ∨ C ≡ AC ∨ B ∨ C
получим теперь КНФ:
(( A ∨ B) ∧ (C ∨ B )) ∨ C ≡
≡ ( ( A ∨ B ∨ C ) ∧ ( C ∨ B ∨ C ) ) ≡ A ∨ B ∨ C;
AC ∨ B ∨ C ≡
2) ДНФ:
(((( A → B ) → A ) → B ) → C ) → C ≡ A ∨ B ∨ A ∨ B ∨ C ∨ C ≡
≡ A∨ B∨ A∨ B∧C∨C ≡
≡
≡
(((( A ∨ B) ∧ A ) ∨ B ) ∧ C ) ∨ C ≡
((( A ∧ A ) ∨ ( A ∧ B) ∨ B ) ∧ C ) ∨ C ≡ ((( A ∨ B) ∧ ( B ∨ B)) ∧ C ) ∨ C ≡
(( A ∨ B ) ∧ C ) ∨ C ≡ (( A ∧ C ) ∨ ( B ∧ C )) ∨ C ≡ AC ∨ BC ∨ C ≡ BC ∨ C ,
(
)
(
)
(
)
КНФ: BC ∨ C ≡ B ∧ C ∨ C ≡ B ∨ C ∧ ( C ∨ C ) ≡ B ∨ C ∧ C ;
3) ДНФ:
198
(( A → ( B → C )) → (( A → C ) → ( A → B))) ≡
( (
))
(
)
≡ A ∨ B ∨ C ∨ A ∨ C ∨ A ∨ B ≡ A ∧ B ∧ C ∨ ( A ∧ C) ∨ A ∨ B ≡
≡ ABC ∨ AC ∨ A ∨ B,
КНФ: ABC ∨ AC ∨ A ∨ B ≡ ABC ∨ A ∨ C ∨ B ≡ A ∨ B ∨ C .
1.11.7. Пусть переменные A1, A2,…, An принимают значение 1,
а переменные B1, B2,…, Bm – значение 0. Требуемой элементарной
конъюнкцией будет выражение A1 ∧ A2 ∧ ... ∧ An ∧ B1 ∧ B2 ∧ ... ∧ Bm .
1.11.8.
1) табличный способ реализован для формулы 1. Результаты приведены в табл. 1.17.
Таблица 1.17
A
B
C
A∧C
B∧C
BC→AC
A
B
A→B
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
1
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 ∨ AB C ∨ AB C ∨ AB C ∨ ABC ∨ ABC ∨ A B C ∨ A B C.
Способ эквивалентных преобразований:
(( A → B) → (( B ∧ C ) → ( A ∧ C ))) ≡ A ∨ B ∨ ( B ∧ C ∨ ( A ∧ C )) ≡ ( A ∧ B) ∨
∨ ( ( B ∨ C ) ∨ AC ) ≡ AB ∨ ( B ∨ ( C ∨ A ) ∧ ( C ∨ C ) ) ≡ AB ∨ B ∨ C ∨ A ≡
(
)
(
)(
) (
)(
)
(
)(
)
≡ AB C ∨ C ∨ B A ∨ A C ∨ C ∨ C A ∨ A B ∨ B ∨ A B ∨ B C ∨ C ≡
≡ ABC ∨ ABC ∨ ABC ∨ A BC ∨ AB C ∨ A B C ∨ ABC ∨ AB C ∨ AB C ∨
∨ AB C ∨ A B C ∨ ABC ∨ AB C ∨ AB C ∨ AB C ≡ ABC ∨ AB C ∨ AB C ∨
∨ AB C ∨ ABC ∨ AB C ∨ A B C ∨ A B C.
Надо заметить, что способ эквивалентных преобразований заметно лучше табличного. При малом числе переменных это не
ощутимо, но, если, например, рассмотреть функцию f(x1, x2,…,
199
x20)=x1∨x2∨…∨x20, то будет видно, что формула в правой части содержит 39 символов (20 символов переменных и 19 символов дизъюнкции), таблица же для f(x1, x2,…, x20) содержит 220>106, то есть более
миллиона строк.
2)
≡
(( A → B ) → A ) → ( A → ( B ∧ A ) ) ≡ A ∨ B ∨ A ∨ ( A ∨ AB ) ≡
(( A ∨ B ) ∧ A ) ∨ ( A ∨ AB ) ≡ ( A ∧ A ) ∨ ( A ∧ B ) ∨ ( A ∨ AB ) ≡ AB ∨ AB ∨ A ≡
(
)
≡ AB ∨ A ≡ AB ∨ A B ∨ B ≡ AB ∨ AB ∨ AB;
3)
A ∧B→ A ∧ A ∧B→ B ≡ A ∧B∨ A ∧ A ∧B∨ B ≡
≡ ( AB ∧ A ) ∧ ( AB ∧ B ) ≡ A ∧ B;
(
)
(
4) A1 → A2 → (... → ( An -1 → An )...) ≡ A1 ∨ A2 ∨ (... ∨
) ))
≡ A1 ( A2 ∨ A2 )( A3 ∨ A3 )...( An ∨ An ) ∨ A2 ( A1 ∨ A1 )( A3 ∨ A3 )...
( An ∨ An ) ∨ ... ∨ An-1 ( A1 ∨ A1 )( A2 ∨ A2 )...( An-2 ∨ An-2 )( An ∨ An ) ∨
∨ An ( A1 ∨ A1 )( A2 ∨ A2 )...( An -1 ∨ An -1 ).
(
∨ An -1 ∨ An ... ≡ A1 ∨ A2 ∨ ... ∨ An -1 ∨ An ≡
Все записанные конъюнкции раскрываются одинаково. Например,
(
) (
)( An ∨ An ) ≡ ( A1 A2 ∨ A1 A2 )...( An-1 ∨ An-1 ) ×
× ( An ∨ An ) ≡ ( A1 A2 An -1 ∨ A1 A2 An -1 ∨ ... ∨ A1 A2 An -1 ∨ A1 A2 An -1 ) ×
× ( An ∨ An ) ≡ A1 A2 An -1 An ∨ A1 A2 An -1 An ∨ ... ∨ A1 A2 An -1 An ∨
A1 A2 ∨ A2 ... An -1 ∨ An -1
∨ A1 A2 An -1 An ∨ A1 A2 An -1 An ∨ A1 A2 An -1 An ∨ ... ∨ A1 A2 An -1 An ∨
∨ A1 A2 An -1 An
и так далее. После слияний членов по закону идемпотентности в итоговой СДНФ всей формулы будут содержаться все логические слагаσ
σ
емые вида A1 1 ∧ A2 2 ∧ ... ∧ Anσn , кроме одного A1 ∧ A2 ∧ ... ∧ An -1 An .
(
)
(
) (
)
5) A → C → B → A ≡ A ∨ C ∨ B ∨ A ≡ A ∧ C ∨ B ∧ A ≡
200
(
)
(
)
≡ A C ∨ AB ≡ A C B ∨ B ∨ AB C ∨ C ≡ A CB ∨ A C B ∨ ABC ∨ ABC.
1.11.9. 1) табличный способ для формулы 1 (табл.1.18).
Таблица 1.18
A
B
C
B∨C
B∨C→ A
C→A
1)
1)
1
1
1
0
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
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
1
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
1
ÑÄÍÔ1) = A B C. ÑÊÍÔ1
=
) ÑÄÍÔ1)
= A B C ≡ A ∨ B ∨ C.
Метод эквивалентных преобразований:
(C → A ) → ( B ∨ C → A ) ≡ C ∨ A ∨ B ∨ C ∨ A ≡ (C ∧ A ) ∨ ( B ∨ C ∨ A ) ≡
≡ A ∨ B ∨ C ∨ C A ≡≡ A ∨ B ∨ C;
2) A ∧ B → A ∨ ( A ∧ ( B ∨ C ) ) ≡ A ∧ B ∨ A ∨ ( AB ∨ AC ) ≡
( AB ∧ A ) ∨ ( AB ∨ AC ) ≡ AB ∨ AC ≡ A ( B ∨ C ) ≡ ( A ∨ ( B ∧ B )) ∧
∧ (( B ∨ C ) ∨ ( A ∧ A )) ≡ ( A ∨ B) ∧ ( A ∨ B ) ∧ ( B ∨ C ∨ A ) ∧ ( B ∨ C ∨ A ) ≡
≡ (( A ∨ B) ∨ (C ∧ C )) ∧ (( A ∨ B) ∨ (C ∧ C )) ∧ ( A ∨ B ∨ C ) ∧ ( A ∨ B ∨ C ) ≡
≡ ( A ∨ B ∨ C) ∧ ( A ∨ B ∨ C) ∧ ( A ∨ B ∨ C) ∧ ( A ∨ B ∨ C) ∧ ( A ∨ B ∨ C) ∧
∧ ( A ∨ B ∨ C ) ≡ ( A ∨ B ∨ C ) ( A ∨ B ∨ C )( A ∨ B ∨ C )( A ∨ B ∨ C )( A ∨ B ∨ C ) ;
≡
3) A ∧ ( B ∨ C ) → ( A ∧ B ) ∨ C ≡ A ∧ ( B ∨ C ) ∨ ( ( A ∨ C ) ∧ ( B ∨ C ) ) ≡
≡ AB ∨ AC ∨ ( A ∨ C ) ∧ ( B ∨ C ) ≡ AB ∨ AC ∨ A ( B ∨ C ) ∨ C ( B ∨ C ) ≡
AB ∨ AC ∨ AB ∨ AC ∨ BC ∨ C ≡ AB ∨ AC ∨ BC ∨ C ≡ AB ∨ C ≡
≡ ( A ∨ C) ∧ ( B ∨ C) ≡
(
(( A ∨ C ) ∨ ( B ∧ B )) ∧ (( B ∨ C ) ∨ ( A ∧ A )) ≡
)
(
≡ ( A ∨ B ∨ C ) ( A ∨ B ∨ C )( A ∨ B ∨ C ) ;
)
≡ ( A ∨ B ∨ C) ∧ A ∨ B ∨ C ∧ ( A ∨ B ∨ C) ∧ A ∨ B ∨ C ≡
201
≡ AB ∨ AC ∨ ( A ∨ C ) ∧ ( B ∨ C ) ≡ AB ∨ AC ∨ A ( B ∨ C ) ∨ C ( B ∨ C ) ≡
AB ∨ AC ∨ AB ∨ AC ∨ BC ∨ C ≡ AB ∨ AC ∨ BC ∨ C ≡ AB ∨ C ≡
≡ ( A ∨ C) ∧ ( B ∨ C) ≡
(
(( A ∨ C ) ∨ ( B ∧ B )) ∧ (( B ∨ C ) ∨ ( A ∧ A )) ≡
)
(
≡ ( A ∨ B ∨ C ) ( A ∨ B ∨ C )( A ∨ B ∨ C ) ;
)
≡ ( A ∨ B ∨ C) ∧ A ∨ B ∨ C ∧ ( A ∨ B ∨ C) ∧ A ∨ B ∨ C ≡
(
)
4) A ∨ B → A ∧ C → A → A ∨ B ∧ C ≡ A ∨ B ∨ ( A ∧ C ) ∨
( ) (
) ( )
( ) (
) ( )
∧ ( B ∧ C ) ≡ ( A ∨ B ) ∧ A ∨ ( A ∨ B ) ∧ C ∨ ( A ∨ B ) ∧ ( A ∨ C ) ≡ A A ∨ AB ∨
∨A ∨ A ∨ B∧C ≡ A ∨ B ∧ A ∧C ∨ A ∨ B∧C ≡ A ∨ B ∧ A ∨C ∨ A ∨
∨ AC ∨ BC ∨ ( A ∨ B ) ∧ A ∨ ( A ∨ B ) ∧ C ≡ AB ∨ AC ∨ BC ∨ A ∨ AB ∨ AC ∨
∨ BC ≡ A ∨ AB ∨ BC ∨ BC ≡ A ∨ AB ∨ C ≡ A ∨ B ∨ C;
5) A1 ∨ A2 ∨ ... ∨ An → B1 ∧ B2 ∧ ... ∧ Bn ≡
≡
((
(( A1 ∧ A2 ∧ ... ∧ An ) ∨ B1 ) ∧ (( A1 ∧ A2 ∧ ... ∧ An ) ∨ B2 ) ∧ ...
)
(
) (
)
(
)
∧ A1 ∧ A2 ∧ ... ∧ An ∨ Bn ) ≡ A1 ∨ B1 ∧ A2 ∨ B1 ∧ ... ∧ An ∨ B1 ∧
(
) (
)
(
)
(
)
∧ A1 ∨ B2 ∧ A2 ∨ B2 ∧ ... ∧ An ∨ B2 ∧ ... ∧ A1 ∨ Bn ∧
(
)
(
)
∧ A2 ∨ B1 ∧ ... ∧ An ∨ Bn .
1.11.10. Поскольку исходная формула абсолютно истинна, ее
СДНФ должна содержать все различные элементарные конъюнкции, каждая из которых обладает свойствами совершенства. Число элементарныхконъюнкций для функции n переменных должно
быть равно числу строк истинностной таблицы, то есть 2n. Тогда:
1) ÑÄÍÔf ( x )= x ∨ x ;
2) ÑÄÍÔf ( x, y ) = xy ∨ xy ∨ xy ∨ x y;
3) ÑÄÍÔf ( x, y, z ) = xyz ∨ xyz ∨ xyz ∨ xyz ∨ x yz ∨ xy z ∨ xyz ∨ x y z.
1.11.11. Исходные соображения аналогичны соображениям предыдущей задачи.
1) ÑÊÍÔf ( x )= x ∧ x ;
(
) ( ) ( )
=
3) ÑÊÐÔf ( x, y, z ) =
( x ∨ y ∨ z) ∧ ( x ∨ y ∨ z) ∧ ( x ∨ y ∨ z) ∧ ( x ∨ y ∨ z) ∧
∧ ( x ∨ y ∨ z ) ∧ ( x ∨ y ∨ z ) ∧ ( x ∨ y ∨ z ) ∧ ( x ∨ y ∨ z ).
2) ÑÊÍÔf ( x, y ) = ( x ∨ y ) ∧ x ∨ y ∧ x ∨ y ∧ x ∨ y ;
202
1.11.12. Так как f(x, y, z)≡1, то формулу удобно представить в виде
ДНФ, тогда достаточно, чтобы хотя бы одна конъюнкция была истинной. Это можно обеспечить перечислением переменных в конъюнкциях, причем достаточно трех конъюнкций, и при этом одна из переменных должна входить в конъюнкцию сама, а две других в виде отрицаний. Таким образом, f ( x, y, z ) = x ∧ y ∧ z ∨ x ∧ y ∧ z ∨ x ∧ y ∧ z .
(
) (
) (
)
1.11.13. Представим опять формулу в виде ДНФ. Для функции f(x,
y, z) существует только три пары значений переменных, в которых
большинство переменных принимает одно и то же значение: (1, 1, 0),
(1, 0, 1) и (0, 1, 1) или (0, 0, 1), (0, 1, 0) и (1, 0, 0). Тогда функция, принимающая то же значение, что и большинство переменных, имеет
вид f ( x, y, z ) = xyz ∨ xyz ∨ xyz. Для меньшинства переменных справедливы аналогичные рассуждения и f ( x, y, z ) = xy z ∨ xyz ∨ x yz.
1.11.14. Рассмотрим первое уравнение x∧f≡x∧y. Для его осуществления переменная z в f(x, y, z) должна быть фиктивной, то есть
x ∧ y ≡ xy z ∨ z ≡ xyz ∨ xyz. Рассмотрим теперь второе условие
(
)
(
( (
)
)
))
(
x ∨ z ≡ x ∨ xz ≡ xy ∨ x ∨ xz ≡ xy ∨ xz ∨ x ≡ xy z ∨ z ∨ xz y ∨ y ∨ x,
то есть f(x, y, z) должна содержать следующие слагаемые:
f ( x, y, z ) = xyz ∨ xyz ∨ xyz ∨ x yz.
1.11.15. Заметим, что
(
x1 ∨ x2 ∨ ... ∨ xk ≡ ( x1 ∨ x2 ∨ ... ∨ xk ) ∧
)
(
)
(
)
∧ y ∨ y ≡ ( x1 ∧ y ) ∨ ∨ x1 ∧ y ∨ ... ∨ ( xk ∧ y ) ∨ xk ∧ y ,
аналогично
(
x1 ∧ x2 ∧ ... ∧ xk ≡
)
(
)
(
)
≡ ( x1 ∧ x2 ∧ ... ∧ xk ) ∨ y ∧ y ≡ ( x1 ∨ y ) ∧ x1 ∨ y ∧ ...( xk ∨ y ) ∧ xk ∨ y .
Используя это, мы всегда можем считать, что у любых формул A и
B заданные нормальные формы содержат одни и те же переменные.
СДНФ(A∨B) получится, если взять дизъюнкции всех элементарных конъюнкций СДНФA и СДНФB. СКНФ(A∨B) находится по фор-
∨ B ) ÑÄÍÔ( A ∨ B ). Для этого необходимо:
муле ÑÊÍÔ ( A=
1) выписать дизъюнкции элементарных конъюнкций переменных, не входящих в СДНФ(A∨B);
203
2) заменить ∨ на ∧, а ∧ на ∨, xi на xi , а xi на xi. Полученная формула будет СКНФ(A∨B).
1.11.16. В СКНФA заменить ∨ на ∧ и ∧ на ∨. Действительно, переменные у формулы A(x1, x2,…, xn) превратились в x1, x2 ,..., xn у формулы A*, что соответствует изменению переменных при переходе от
СКНФ к СДНФ. Необходимо теперь только поменять местами двойственные операции, тогда окончательно вместо A получим A = A∗ ,
эта же операция необходима при преобразовании СКНФ в СДНФ.
Например, A=x→y A∗= y → x (см. задачу 1.11.17). x → y ≡ x ∨ y –
∗
x ∧ y. На самом
СКНФ. По описанной процедуре ÑÄÍÔ ( x → y ) =
деле y → x ≡ x ∨ y ≡ x ∧ y – СДНФ A*.
1.11.17.
1) 0*=1, 1*=0 поскольку функция ни от каких аргументов не зависит существенно, надо поставить отрицание лишь на значение
∗
функции; x∗ ≡ x ≡ x, x ≡ x ≡ x, то есть x и x самодвойственны;
( x ∧ y )∗ ≡ x ∧ y ≡ x ∨ y ≡ x ∨ y,
( x ∨ y )∗ ≡ x ∨ y ≡ x ∧ y ≡ x ∧ y, ( x → y )∗ ≡ x → y ≡ x ∨ y ≡ y → x,
( x ↔ y )∗ ≡ x ↔ y ≡ ( x → y ) ∧ ( y → x ) ≡ ( x ∨ y ) ∧ ( y ∨ x ) ≡
(
) (
)
≡ y ∨ x ∧ x ∨ y ≡ ( y → x ) ∧ ( x → y ) ≡ y ↔ x;
2) решим задачу двумя способами. Условия означают, что
 f (1,1,0 ) = 1,

 f (1,0,1) = 1,
f ( 0,1,1) = 1.

Двойственная функция получается из исходной при замене значений всех переменных на противоположные, то есть всюду в истинностной табл. 1.19 нужно заменить 0 на 1 и 1 на 0.
Из табл. 1.19 получаем:
(
)
f ( x, y, z ) = xyz ∨ xyz ∨ xyz, f ∗=
x, y, z
( x, y,z ) f=
= xyz ∨ xyz ∨ xyz ∨ xyz ∨ x y z.
204
Таблица 1.19
(
x
y
z
f(x, y, z)
x
y
z
f ∗ = f x, y, z
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
1
)
Второй способ: ( )
≡ x yz ∧ xyz ∧ xy z ≡ ( x ∨ y ∨ z )( x ∨ y ∨ z )( x ∨ y ∨ z ) ≡ ( x ∨ xy ∨ xz ∨ xy ∨
∨ yy ∨ y z ∨ xz ∨ yz ∨ zz )( x ∨ y ∨ z ) ≡ ( x ∨ y z ∨ yz )( x ∨ y ∨ z ) ≡ xx ∨ x y z ∨
f ∗ ( x, y, z ) = f x, y, z = x yz ∨ xyz ∨ xy z ≡
∨ xyz ∨ xy ∨ yy z ∨ yz ∨ xz ∨ yzz ∨ yz ≡ xyz ∨ x y z ∨ xy ∨ yz ∨ xz ≡ xyz ∨
∨ x y z ∨ xyz ∨ xyz ∨ xyz ∨ xyz ∨ xyz ∨ xyz ≡ xyz ∨ x y z ∨ xyz ∨ xyz ∨ xyz.
1.11.18. По определению самодвойственной функции,
(
)
∗
=
f ( x1, x2 ,..., xn ) f=
( x1, x2 ,..., xn ) f x1, x2 ,..., xn .
В нашем случае
( xy ∨ yz ∨ xz )∗ =
xy∨ yz∨ xz ≡
( ) ( ) ( )
≡ x ∨ y ∧ y ∨ z ∧ x ∨ z ≡ ( x ∨ y )( y ∨ z )( x ∨ z ) ≡ ( xy ∨ y ∨ xz ∨ yz )( x ∨ z ) ≡
≡ xy ∨ xy ∨ xz ∨ xyz ∨ xyz ∨ yz ∨ xz ∨ yz ≡ xy ∨ xyz ∨ yz ∨ xz ≡ xy ∨ yz ∨ xz.
n -1
1.11.19. 22 . Множество наборов, значения на которых опредеn–1 элементов (пололяют самодвойственную функцию, содержат 2
вина всех наборов, так как самодвойственная функция принимает
на противоположных наборах противоположные значения). Общее
число функций равно числу двоичных наборов длины 2n–1, то есть
n -1
22
(см. задачу 1.11.2).
1.11.20. Функция является не самодвойственной, если существует
такой набор (α1, α2,…, αn), что f ( α1, α2 ,..., αn ) = f α1, α2 ,..., αn . Разо-
(
)
205
бьем переменные x1, x2,…, xn на две группы. В первую включим те
переменные xi, для которых αi=1, в другую те, для которых αi=0. Отождествим между собой все переменные первой группы, переименовав их в y1, а также все переменные второй группы, переименовав их
в y2. Получим функцию от двух переменных j(y1, y2), которая может оказаться и функцией от одной переменной, если (α1, α2,…, αn) –
единичный или нулевой набор. Очевидно, что j(1, 0)=f(α1, α2,…, αn),
ϕ ( 0,1) = f α1, α2 ,..., αn , поэтому j(0, 1)=j(1, 0), так как f не самодвойственна по условию.
Может оказаться, что дальнейшее отождествление переменных
с сохранением не самодвойственности невозможно.
(
)
Ответы и решения практического занятия №3
1.18.1.
1) ÑÄÍÔ f = x y z ∨ x yz ∨ xyz ∨ xyz. Выполним в этой формуле все
операции неполного склеивания и поглощения
(
)
(
)
(
)
=
f xz y ∨ y ∨ yz x ∨ x ∨ x y z ∨ z ∨ x y z ∨ x yz ∨ xyz ∨
∨ xyz ≡ xz ∨ yz ∨ x y ∨ x y z ∨ x yz ∨ xyz ∨ xyz ≡
(
)
≡ xz (1 ∨ y ) ∨ yz (1 ∨ x ) ∨ x y 1 ∨ z ∨ z ≡ xz ∨ yz ∨ x y.
Итак, методом Квайна найдена сокращенная ДНФ. Составим теперь матрицу Квайна(см. табл. 1.20).
Таблица 1.20
Конституенты единицы СДНФ
Простые
импликанты
xyz
x yz
xyz
xyz
xz
–
–
*
*
yz
–
*
*
–
xy
*
*
–
–
Тупиковая ДНФ равна x y ∨ xz, она же будет равна минимальной
f x y ∨ xz. Проверим теперь функцию на приДНФ. Итак, ÌÄÍÔ=
надлежность к каждому из пяти классов Поста.
f ( 0,0,0 ) = 0 ∧ 0 ∨ 0 ∧ 0 = 1 ≠ 0, f∉P0; f (1,1,1) = 1 ∧ 1 ∨ 1 ∧ 1 = 1, f∈P1;
206
(
)
(
)
f x, y, z = x y ∨ x z ≡ xy ∧ x z ≡ x ∨ y ∧ ( x ∨ z ) ≡ x ∨ yx ∨ yz ≠ f= x y ∨ xz,
f∉S; f∉L, так как содержит произведение xz; f∉M, так как
( 0,0,1)  ( 0,1,1), а f(0, 0, 1)=1>f(0, 1, 1)=0;
2) ÑÄÍÔ f = xyz ∨ xy z ∨ x yz ∨ xyz ∨ xyz. Тогда сокращенная ДНФ:
(
)
(
)
(
)
(
)
f= xy z ∨ z ∨ xy z ∨ z ∨ xz y ∨ y ∨ yz x ∨ x ∨ xyz ∨ xy z ∨
(
)
(
)
(
)
∨ x yz ∨ xyz ∨ xyz ≡ xy 1 ∨ z ∨ z ∨ xy 1 ∨ z ∨ z ∨ xz 1 ∨ y ∨ yz ≡
≡ xy ∨ xy ∨ xz ∨ yz
Матрица Квайна приведена в табл. 1.21.
Таблица 1.21
Конституенты единицы СДНФ
Простые
импликанты
xyz
xy z
x yz
xyz
xyz
xy
*
–
–
*
–
xy
–
*
–
–
*
xz
–
–
*
*
–
yz
–
–
*
–
*
Тупиковых ДНФ здесь две: xy ∨ xy ∨ xz и xy ∨ xy ∨ yz. Минимальных ДНФ тоже две, они совпадают с тупиковыми.
Для проверки принадлежности функции к классам Поста воспользуемся одной из минимальных дизъюнктивных форм, например, f = xz ∨ xy ∨ xy.
f ( 0,0,0 ) = 0 ∧ 0 ∨ 0 ∧ 0 ∨ 0 ∧ 0 = 0, f∈P0;
f (1,1,1) = 1 ∧ 1 ∨ 1 ∧ 1 ∨ 1 ∧ 1 = 0 ≠ 1, f∉P1;
(
)
( ) ( ) (
≡ ( x ∨ xz ∨ xy ∨ yz ) ∧ ( x ∨ y ) ≡ ( x ∨ yz )( x ∨ y ) ≡
)
f x, y, z = xz ∨ xy ∨ xy ≡ xz ∧ xy ∧ xy ≡ x ∨ z ∧ x ∨ y ∧ x ∨ y ≡
≡ xx ∨ xyz ∨ x y ∨ yzy ≡ xyz ∨ x y ≠ f,
следовательно, f∉S;
207
xz ∨ xy ∨ xy ≡ xz ∧ xy ∧ xy =
( ( x ⊕ 1) z ⊕ 1) ( ( x ⊕ 1) y ⊕ 1) ( x ( y ⊕ 1) ⊕ 1) ⊕ 1=
=
( xz ⊕ z ⊕ 1)( xy ⊕ y ⊕ 1)( xy ⊕ x ⊕ 1) ⊕ 1 =
=
( xyz ⊕ xyz ⊕ xy ⊕ xyz ⊕ yz ⊕ y ⊕ xz ⊕ z ⊕ 1)( xy ⊕ x ⊕ 1) ⊕ 1 =
=xy ⊕ xyz ⊕ xyz ⊕ xy ⊕ xyz ⊕ xyz ⊕ xy ⊕ xy ⊕ xyz ⊕ xyz ⊕ xy ⊕ xz ⊕
⊕xz ⊕ x ⊕ xy ⊕ xyz ⊕ yz ⊕ y ⊕ xz ⊕ z ⊕ 1 ⊕ 1= xyz ⊕ xz ⊕ yz ⊕ x ⊕ y ⊕ z ∉ L;
f∉M,
так как (1,0,0 )  (1,1,0 ), но f(1, 0, 0)=1>f(1, 1, 0)=0;
3) Сокращенная ДНФ:
ÑÄÍÔ f = x y z ∨ xyz ∨ x yz ∨ xyz ∨ xyz.
(
)
(
)
(
)
(
)
=
f xy z ∨ z ∨ xz y ∨ y ∨ yz x ∨ x ∨ x y z ∨ z ∨ x y z ∨ xyz ∨ x yz ∨ xyz ∨
Таблица 1.22
Конституенты единицы СДНФ
Простые
импликанты
xyz
xyz
x yz
xyz
xyz
xy
–
*
–
*
–
xz
–
–
–
*
*
yz
–
–
*
–
*
xy
*
–
*
–
–
Тупиковых ДНФ две: xy ∨ xz ∨ x y, x y ∨ yz ∨ xy (см. табл. 1.22);
минимальных ДНФ также две:
ÌÄÍÔ1 = xy ∨ yz ∨ x y и ÌÄÍÔ2 = xy ∨ xz ∨ x y.
Возмем вторую минимальную дизъюнктивную форму и проверим, к какому классу Поста принадлежит наша функция.
f ( 0,0,0 ) = 0 ∧ 0 ∨ 0 ∧ 0 ∨ 0 ∧ 0 = 1, f∉P0;
(
)
f (1,110 ) = 1 ∧ 1 ∨ 1 ∧ 1 ∨ 1 ∧ 1 = 1, f∈P1; f x, y, z = x y ∨ x y ∨ yz ≡
(
)
(
) (
)(
)
≡ xy ∧ x y ∧ yx ≡ x ∨ y ( x ∨ y ) y ∨ z ≡ xx ∨ xy ∨ xy ∨ yy y ∨ z ≡ xy ∨
∨ xyy ∨ xyz ∨ xyz ≡ xy (1 ∨ z ) ∨ xyz ≡ xy ∨ xyz ≠ f, f ∉ S; f∉L,
208
так как содержит произведение xy; f∉M, так как ( 0,0,0 )  (1,0,0 ), а
f(0, 0, 0)=1>f(1, 0, 0)=0;
4) ÑÄÍÔ f = xyz ∨ xyz ∨ xyz ∨ xyz.
Сокращенная ДНФ:
(
)
(
) ( )
∨ yz (1 ∨ x ) ∨ xy (1 ∨ z ) ≡ xz ∨ yz ∨ xy
(
)
f= xz y ∨ y ∨ yz x ∨ x ∨ xy z ∨ z ∨ xyz ∨ xyz ∨ xyz ∨ xyz ≡ xz 1 ∨ y ∨ y ∨
Таблица 1.23
Конституенты единицы СДНФ
Простые
импликанты
xyz
xyz
xz
–
yz
*
xy
*
xyz
xyz
–
*
*
–
–
*
*
–
–
Тупиковая ДНФ одна xz ∨ xy, она же равна минимальной, т. е.
ÌÄÍÔ
= xz ∨ xy (табл. 1.23).
f ( 0,0,0 ) = 0 ∧ 0 ∨ 0 ∧ 0 = 0, f∈P0; f (1,1,1) = 1 ∧ 1 ∨ 1 ∧ 1 = 1,
f∈P1;
,
f x, y, z = x z ∨ xy ≡ x z ∧ xy ≡ ( x ∨ z ) x ∨ y ≡ xx ∨ xz ∨ xy ∨ yz ≠ f, f∉S;
f∉L, так как содержит xz. Составим таблицу истинности для МДНФ
(табл. 1.24). Из нее видно, что для всех сравнимых наборов переменных выполняется условие α  β → f α ≤ f β . Следовательно, f∈M;
(
)
(
)
( ) ()
Таблица 1.24
x
y
z
xz
xy
МДНФ
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
209
5) ÑÄÍÔ f =xyz ∨ xy z ∨ xyz.
Сокращенная ДНФ:
(
)
(
)
f= yx z ∨ z ∨ xyz ∨ xy z ∨ xyz ≡ yx 1 ∨ z ∨ z ∨ xyz ≡ yx ∨ xyz.
Матрица Квайна для этой функции очень проста и приведена
ниже. Простые импликанты равны xyz, xy. Тупиковая ДНФ равна
xyz ∨ xy, она же равна единственной минимальной дизъюнктивной
нормальной форме (см. табл. 1.25).
Таблица 1.25
Конституенты единицы СДНФ
Простые
импликанты
xyz
xy z
xyz
yx
–
*
*
xyz
*
–
–
f ( 0,0,0 ) = 0 ∧ 0 ∨ 0 ∧ 0 ∧ 0 = 0, f∈P0; f (1,1,1) = 1 ∧ 1 ∨ 1 ∧ 1 ∧ 1 = 0, f∉P1;
(
)
(
) (
)
f x, y, z = xy ∨ xy z ≡ xy ∧ xy z ≡ x ∨ y ∧ x ∨ y ∨ z ≡
≡ xx ∨ xy ∨ xy ∨ yy ∨ xz ∨ yz ≡ xy ∨ xy ∨ xz ∨ yz ≠ f, f∉S;
xy ∨ xyz ≡ xy ∧ xyz=
( x ( y ⊕ 1) ⊕ 1) ⋅ ( ( x ⊕ 1) yz ⊕ 1) ⊕ 1= ( xy ⊕ x ⊕ 1) ⋅
⋅( xyz ⊕ yz ⊕ 1) ⊕ 1 = xyz ⊕ xyz ⊕ xyz ⊕ xyz ⊕ xyz ⊕ yz ⊕ xy ⊕ x ⊕ 1 ⊕
⊕=
1 xyz ⊕ yz ⊕ xy ⊕ x ∉ L; f∉M,
так как ( 0,1,1)  (1,1,1), но f(0, 1, 1)=1>f(1, 1, 1)=0.
1.18.2. Так как
(
) (
)
x⊕y= x ↔ y≡ x∧y ∨ x∧y ,
то СДНФ:
(
) (
)
x ⊕ y = x ↔ y ≡ x ∧ y ∨ x ∧ y ≡≡ xy ∨ xy ;
СКНФ:
) ( ( )) ( ( ))
≡ (( x ∨ x ) ∧ ( x ∨ y )) ∧ (( y ∨ x ) ∧ ( y ∨ y )) ≡ ( x ∨ y )( x ∨ y )
(
) (
x⊕y = x∧y ∨ x∧y ≡ x∨ x∧y ∧ y∨ x∧y ≡
210
По определению двойственной функции
( x ⊕ y )∗ = ( x ⊕ y ) = ( ( x ⊕ 1) ⊕ ( y ⊕ 1) ) ⊕ 1 = x ⊕ y ⊕ 1;
то же самое можно получить другим способом:
( x ⊕ y )∗ =
( x ∧ y ) ∨ ( x ∧ y ) ≡ ( x ∧ y ) ∧ ( x ∧ y ) = ( ( x ⊕ 1) y ⊕ 1) ( x ( y ⊕ 1) ⊕ 1) =
= ( xy ⊕ y ⊕ 1)( xy ⊕ x ⊕ 1) = xy ⊕ xy ⊕ xy ⊕ xy ⊕ xy ⊕ x ⊕ xy ⊕ y ⊕ 1 =
= x ⊕ y ⊕ 1,
так как операция сложения по модулю два обладает следующими
свойствами: x⊕x=0, x ⊕ 1 =
1.
x, x⊕0=x, x ⊕ x =
1.18.3. 1) конъюнкция: xy=x⋅y;
дизъюнкция:
( x ⊕ 1)( y ⊕ 1) ⊕ 1 =
x∨y≡x∧y=
xy ⊕ x ⊕ y;
отрицание: x= x ⊕1;
импликация:
x → y ≡ x ∨ y ≡ x ∧ y ≡ x ∧ y = x ( y ⊕ 1) ⊕ 1 = xy ⊕ x ⊕ 1;
эквиваленция:
(
) (
)
x ↔ y ≡ (x → y) ∧ (y → x) ≡ x ∨ y ∧ y ∨ x ≡ x ∧ y ∧ y ∧ x ≡ x ∧ y ∧ y ∧ x =
=
( x ( y ⊕ 1) ⊕ 1) ( y ( x ⊕ 1) ⊕ 1)= ( xy ⊕ x ⊕ 1)( xy ⊕ y ⊕ 1)=
=xy ⊕ xy ⊕ xy ⊕ xy ⊕ xy ⊕ y ⊕ xy ⊕ x ⊕ 1 =x ⊕ y ⊕ 1;
2)
x∨y∨z≡ x∧y∧z=
( x ⊕ 1)( y ⊕ 1)( z ⊕ 1) ⊕ 1 = ( xy ⊕ y ⊕ x ⊕ 1)( z ⊕ 1) ⊕ 1 =
= xyz ⊕ yz ⊕ xz ⊕ z ⊕ xy ⊕ y ⊕ x ⊕ 1 ⊕ 1= xyz ⊕ xy ⊕ xz ⊕ yz ⊕ x ⊕ y ⊕ z;
( xy ⊕ 1)( yz ⊕ 1)( xz ⊕ 1) ⊕ 1 =
1
( xyz ⊕ yz ⊕ xy ⊕ 1)( xz ⊕ 1) ⊕=
3) xy ∨ yz ∨ xz ≡ xy ∧ yz ∧ xz =
=
=xyz ⊕ xyz ⊕ xyz ⊕ xz ⊕ xyz ⊕ yz ⊕ xy ⊕ 1 ⊕ 1 =xy ⊕ xz ⊕ yz;
(
) (
)
4) xyz ∨ xyz ∨ xyz ∨ x y z ≡ z xy ∨ xy ∨ z xy ∨ x y ,
211
xy ∨ xy ≡ xy ∧ xy=
( x ( y ⊕ 1) ⊕ 1) ( ( x ⊕ 1) y ⊕ 1) ⊕ 1=
= ( xy ⊕ x ⊕ 1)( xy ⊕ y ⊕ 1) ⊕ 1 = x ⊕ y;
xy ∨ x y ≡ xy ∧ x y=
(( xy ⊕ 1)(( x ⊕ 1)( y ⊕ 1) ⊕1) ⊕1=)
( xy ⊕ 1)( xy ⊕ y ⊕ x ) ⊕ 1=
=xy ⊕ xy ⊕ xy ⊕ y ⊕ xy ⊕ x ⊕ 1 =x ⊕ y ⊕ 1 =x ⊕ y;
xyz ∨ xyz ∨ xyz ∨ x y z= z ( x ⊕ y ) ∨ z x ⊕ y= z ( x ⊕ y ) ∧ z ( x ⊕ y )=
=
( xz ⊕ yz ⊕ 1) ( ( z ⊕ 1)( x ⊕ y ⊕1) ⊕ 1) ⊕ 1 = ( xz ⊕ yz ⊕ 1)( xz ⊕ x ⊕ yz ⊕ y ⊕
⊕z ) ⊕ 1 = x ⊕ y ⊕ z ⊕ 1.
1.18.4. Пусть x1 – такая переменная. Сгруппируем члены, в которые входит x1 и вынесем x1. Получим f(x1, x2,…, xn)=x1j(x2,…,
xn)+ψ(x2,…, xn). Это разложение можно рассматривать как полином
Жегалкина по переменной x1 с коэффициентами, зависящими от
остальных переменных. В разложении j≠0, так как в противном
случае в силу единственности полинома Жегалкина x1 не входила
бы в полином для f. Возьмем значения переменных x2, x3,…, xn, на
которых j=1. Тогда значение f будет зависеть от значения x1, то есть
x1 – существенная переменная.
1.18.5. Функция f(x1, x2,…, xn) называется линейной, если она
представима полиномом Жегалкина не выше первой степени, то
0,n, что f(x1,
есть если существуют такие константы ai ∈ {0,1}, i =
x2,…, xn)=a0⊕a1x1⊕…⊕anxn.
1) f = x → y ⊕ xy = x ⊕ y ⊕ ( x ⊕ 1) y = x ⊕ y ⊕ xy ⊕ y = xy ⊕ x ∉ L;
2)
f = xy ∨ x y ∨ z ≡ xy ∧ x y ∧ z = ( xy ⊕ 1) ( ( x ⊕ 1)( y ⊕ 1) ⊕ 1) ( z ⊕ 1) ⊕ 1 =
=
( xy ⊕ 1)( z ⊕ 1)( xy ⊕ y ⊕ x ) ⊕ 1 =
xz ⊕ yz ⊕ x ⊕ y ⊕ 1.
Очевидно, что f∉L. Подобный метод представления функции полиномом Жегалкина называется методом, базирующимся на преобразовании формул над множеством связок ∧, . Восстановим
теперь полином, представляющий данную функцию, методом неопределенных коэффициентов.
{ }
f =xy ∨ x y ∨ z =a0 ⊕ a1x ⊕ a2 y ⊕ a3z ⊕ a4 xy ⊕ a5 xz ⊕ a6 yz ⊕ a7 xyz.
212
f(0, 0, 0)=1=a0⊕a1⋅0⊕a2⋅0⊕a3⋅0⊕a4⋅0⊕a5⋅0⊕a6⋅0⊕a7⋅0,
f(0, 0, 1)=1=a0⊕a1⋅0⊕a2⋅0⊕a3⋅1⊕a4⋅0⊕a5⋅0⊕a6⋅0⊕a7⋅0,
f(0, 1, 0)=0=a0⊕a1⋅0⊕a2⋅1⊕a3⋅0⊕a4⋅0⊕a5⋅0⊕a6⋅0⊕a7⋅0,
f(0, 1, 1)=1=a0⊕a1⋅0⊕a2⋅1⊕a3⋅1⊕a4⋅0⊕a5⋅0⊕a6⋅0⊕a7⋅0,
f(1, 0, 0)=0=a0⊕a1⋅1⊕a2⋅0⊕a3⋅0⊕a4⋅0⊕a5⋅0⊕a6⋅0⊕a7⋅0,
f(1, 0, 1)=1=a0⊕a1⋅1⊕a2⋅0⊕a3⋅1⊕a4⋅0⊕a5⋅1⊕a6⋅0⊕a7⋅0,
f(1, 1, 0)=1=a0⊕a1⋅1⊕a2⋅1⊕a3⋅0⊕a4⋅1⊕a5⋅0⊕a6⋅0⊕a7⋅0,
f(1, 1, 1)=1=a0⊕a1⋅1⊕a2⋅1⊕a3⋅1⊕a4⋅1⊕a5⋅1⊕a6⋅1⊕a7⋅1.
Подобная система всегда имеет решение, причем
ai ∈ {0,1}, i =
0,n. Здесь a0=a1=a2=a5=a6=1, a3=a4=a7=0;
3) f= xy ( x ↔ y )= x ( y ⊕ 1)( x ⊕ y ⊕ 1)= ( xy ⊕ 1)( x ⊕ y ⊕ 1)=
=xy ⊕ xy ⊕ xy ⊕ x ⊕ xy ⊕ x =0 ∈ L;
все
4) f =( x ∨ yz ) ⊕ xyz ≡ x ∧ yz ⊕ xyz =
=
( ( x ⊕ 1)( yz ⊕ 1) ⊕ 1) ⊕ ( x ⊕ 1) yz = ( xyz ⊕ yz ) ⊕ ( xyz ⊕ yz ⊕ x ⊕ 1 ⊕ 1) =
= xyz ⊕ yz ⊕ x ⊕ xyz ⊕ yz = x ∈ L.
1.18.6. Так как f(x1, x2,…, xn)=a0⊕a1x1⊕…⊕anxn, то множество
всех линейных функций равно числу различных наборов вида (a1,
a2,…, an). Поскольку ∀iai∈{0, 1}, то число наборов равно 2n+1.
1.18.7. Выясним, при каком составе существенных переменных
f(x1, x2,…, xn)=1. Рассмотрим в качестве примера функцию двух
переменных. Она линейна, то есть f(x, y)=a0⊕a1x⊕a2y. Тогда f1=0,
f2=1, f3=1⊕x, f4=1⊕y, f5=1⊕x⊕y, f6=x⊕y, f7=x, f8=y. Только f2 и f5 удовлетворяют условию задачи. У f2 все переменные фиктивны и a0=1,
у f5 число существенных переменных четно и a0=1. Та же картина
наблюдается для функции трех переменных f(x, y, z): f1=0, f2=1,
f3=x f4=1⊕x, f5=y, f6=1⊕y, f7=x⊕y, f8=1⊕x⊕y, f9=z, f10=1⊕z, f11=x⊕z,
f12=1⊕x⊕z, f13=y⊕z, f14=1⊕y⊕z, f15=x⊕y⊕z, f16=1⊕x⊕y⊕z. Число всех
линейных функций n переменных, у которых a0=1 и все переменные фиктивны или с a0=1 и с четным числом существенных переменных, равно 2n–1.
1.18.8. Функция f(x1, x2,…, xn) сохраняет константу 0 (константу
1), если f(0, 0,…, 0)=0 (соответственно f(1, 1,…, 1)=1).
1) f=(x1→x2)(x2→x3)(x3→x1), f(0, 0, 0)=(0→0)(0→0)(0→0)=1, f(1, 1,
1)=(1→1)(1→1)(1→1)=1. Таким образом, f∈P1\P0;
2) f-функция от трех переменных и может содержать суперпозиции всех логических связок. Рассмотрим, например, f1=x1∨x2→x3,
тогда f1(0, 0, 0)=0∨0→0=1 и f1(1, 1, 1)=1∨1→1=1. Однако f2=(x1→x2)∧x3
213
дает f2(0, 0, 0)=(0→0)∧0=0 и f2(1, 1, 1)=(1→1)∧1=1. Следовательно,
произвольная f∉P1\P0;
3) f= x1x2 x3 ∨ x1x2 ∨ x2 : f(0, 0, 0)=0⋅0⋅0∨1⋅0∨1=1, f(1, 1, 1)=1⋅1⋅1∨
∨0⋅1∨0=1, то есть f∈P1\P0;
(
)
f =x1 ∨ x2 x3 ∨ x1x2 ∨ x2 :
4) f(0, 0, 0)=(0∨1)⋅1∨1⋅0∨1=1,
f (1,1,1) = (1 ∨ 0 ) ⋅ 0 ∨ 0 ⋅ 1 ∨ 0 = 0 , f∉P1\P0.
1.18.9.
1) f = xy ∨ xz ∨ z = xy ∨ z. Эта функция равна нулю на наборах (0,
0, 0), (0, 1, 0), (1, 0, 0). Все оставшиеся наборы, исключая (0, 0, 1),
содержат не менее двух единиц, а значит, либо не сравнимы с (0, 0,
0), (0, 1, 0), (1, 0, 0), либо могут быть только больше. Для наборов
( 0,0,0 )  ( 0,0,1) набор (0, 0, 1) не сравним с (0, 1, 0) и с (1, 0, 0), но
f(0, 0, 0)=0<f(0, 0, 1)=1. Следовательно, рассматриваемая функция
монотонна;
2) f=x→(x→y). Всего четыре набора переменных. Сравним
0
,
0
( )  (1,0 ), но f(0, 0)=1>f(1, 0)=0. Функция немонотонна;
3) f = x ∨ y ↔ x ∨ y. ( 0,0 )  (1,0 ), f(0, 0)=1>f(1, 0)=0. Функция немонотонна;
4) f = x ∨ y ↔ x ⋅ y ≡ x y ↔ x y ≡ 1 для всех наборов, следовательно,
функция монотонна;
5) f = xy ∨ x ∨ xz ≡ x ( y ∨ 1) ∨ xz ≡ x ∨ xz ≡ x ∨ z, y – фиктивная переменная; функция x∨z монотонна, так как она равна 0 лишь на наборе (0, 0), который предшествует всем остальным наборам.
1.18.10. Вопрос о числе монотонных функций от n переменных
оказывается очень трудным. Окончательно он не решен до сих пор;
это число сосчитано лишь для конкретных небольших n. Монотонная f(x, y) (не константа) равна 0 на нулевом наборе и 1 на единичном. Два других набора (0,1) и (1, 0) следуют за нулевым, предшествуют единичному, а между собой не сравнимы. Поэтому на них
можно задавать любые значения функции, не нарушая монотонности. Всего задать эти значения можно четырьмя способами, так что
можно задать четыре монотонные функции от двух переменных, не
являющихся константами: x, y, xy и x∨y.
1.18.11.
1) Нельзя, так как f∈P0, а x ∉ P0 ;
2) Можно, f ( x,0,1,0 ) = x ⋅ 1 ⋅ 1 ∨ 0 ⋅ ( x ⋅ 1 → 1) = x;
3) Можно, f ( x, z, z, z=
) x zz ∨ z ( xz → z ) ≡ z x z ∨ x ∨ z ∨ z ≡ z.
1.18.12.
1), 2) (см. § 1.14);
(
214
)
3) Пусть {f1, f=
2}
{ , ∧},
{g1=}
{x ∨ y}. Тогда x = x ∨ x = x, то есть
f1=j1(g1), x ∨ y = x ∨ y, то есть f2=j2(g1) f2 = ϕ2 ( g1 ) . Таким образом,
система x ∨ y полна;
4) См. § 1.14;
, ∧ – полная система, а {g1, g2}={→, 0}. Тогда
5) Пусть {f1, f=
2}
x∨y=
x→y=
ϕ2 ( g1, g2 ), то есть
f1 = x = x ∨ 0 = x → 0 =
ϕ1 ( g1, g2 ), f2 =
{→, 0} полна.
Решим эту же задачу с помощью теоремы Поста. При заполнении таблицы Поста (табл. 1.26) следует помнить некоторые свойства
функций из классов P0, P1, S, L и M. Случаи P0 и P1 тривиальны.
Среди линейных функций монотонны лишь 0, 1 и x; самодвойственны функции с нечетным числом переменных; сохраняют нуль
функции, у которых свободный член – нуль; сохраняют единицу
функции от четного числа переменных, если их свободный член –
нуль, и функции от нечетного числа переменных, если их свободный член единица.
{
}
{
}
Таблица 1.26
{g1, g2,…}
P0
P1
S
L
M
xy
+
+
–
–
+
x
–
–
+
+
–
x∨y
+
+
–
–
+
x
–
–
+
+
–
x∨y
–
–
–
–
–
x⊕y
+
–
–
+
–
x∨y
+
+
–
–
+
1
–
+
–
+
+
x→y
–
+
–
–
–
0
+
–
–
+
+
1.18.13.
1) Система функций G в классе K называется его базисом, если
она полна в K, а всякая ее собственная подсистема не полна. Система функций xy, x полна в P2. Она состоит из двух подсистем:
функций xy и x. xy – монотонная функция (см. таблицу Поста пре-
{
}
215
дыдущей задачи), x – линейная и самодвойственная функция. Таким образом, системы {xy} и x неполны, так как эти функции и
представляемые ими системы целиком содержатся в каком-то из
пяти классов P0, P1, S, L и M. Следовательно, xy, x – базис в P2;
2), 3) Рассуждения аналогичные п. 1;
4) Система {x⊕y, x∨y, 1} имеет шесть подсистем: {x⊕y}, {x∨y}, {1},
{x⊕y, x∨y}, {x⊕y, 1}, {x∨y, 1}. Все они неполны (см. таблицу Поста), то
есть целиком содержатся в каком-то из пяти классов;
5) Рассуждения аналогичные п.1.
1.18.14. 1) Из всякой полной системы можно выбрать не более
пяти функций, удовлетворяющих теореме Поста. Следовательно,
базис не может содержать более пяти функций;
2) Возьмем функцию, не сохраняющую нуль. Эта функция или
монотонна, и тогда она тождественно равна единице, или немонотонна. Если f≡1, то это не самодвойственная функция. Итак, f∉P0
и f≡1⇒f∉S или f∉P0 и f∉M. Таким образом, в полной системе обязательно найдется функция, не принадлежащая сразу двум предполным классам. Тогда к этой функции можно присоединить не более
трех функций из рассматриваемой системы функций так, чтобы
удовлетворялись условия теоремы Поста. Следовательно, в базисе
не может быть более четырех функций.
1.18.15. 1) Составим таблицу Поста для этой системы функций
(табл. 1.27).
{}
{
}
Таблица 1.27
Функция
P0
P1
S
L
M
0
+
–
–
+
+
x⊕y
+
–
–
+
–
x→y
–
+
–
–
–
xy↔xz
–
+
–
–
–
Первые три функции из системы G уже встречались ранее
(см. задачу 1.18.12). Рассмотрим f4=xy↔xz. f4(0, 0, 0)=0↔0=1, то
есть f4∉P0, f4(1, 1, 1)=1, f4∈P1. Упростим f4 = xy ↔ xz ≡ x ∨ yz ∨ y z.
Двойственная к ней f4∗ =x ∨ y z ∨ y z ≡ xz, то есть f4∉S. Далее
f4 = x ∨ yz ∨ y z ≡ x ∧ yz ∧ y z = x ( yz ⊕ 1) ( ( y ⊕ 1)( z ⊕ 1) ⊕ 1) ⊕ 1 = xz ⊕ yz ⊕ 1,
то есть f4∉L. Функция равна нулю на двух наборах: (1, 0, 1) и (1, 1, 0), на
216
всех остальных f4=1. Тогда ( 0,0,0 )  (1,0,1), но f(0, 0, 0)=1>f(1, 0, 1)=0.
Таким образом, f4∉M. По заполненной таблице составим КНФ системы G, в которой элементарные дизъюнкции соответствуют столбцам
таблицы и включают в качестве слагаемых символы тех функций,
которые не входят в класс, соответствующий столбцу. В данном
с л у ч а е ÊÍÔG = ( f3 ∨ f4 )( f1 ∨ f2 )( f1 ∨ f2 ∨ f3 ∨ f4 )( f3 ∨ f4 )( f2 ∨ f3 ∨ f4 ).
Упростим эту КНФ и преобразуем ее в ДНФ.
( f1f3 ∨ f1f4 ∨ f2f3 ∨ f2f4 )( f1 ∨ f2 ∨ f3 ∨ f4 ) ( f2f3 ∨ f2f4 ∨f3 ∨ f3f4 ∨ f4=)
= ( f1f3 ∨ f1f4 ∨ f2 f3 ∨ f2 f4 )( f3 ∨ f4 ) = f1f3 ∨ f2f3 ∨ f1f4 ∨ f2f4 = ÄÍÔG.
ÊÍÔG=
Из полученной ДНФG выпишем подмножества функций, соответствующие слагаемым ДНФ. Это и будут искомые базисы G. В нашем случае имеются четыре базиса: Б1={0, x→y}, Б2={x⊕y, x→y},
Б3={0, xy↔xz}, Б4={x⊕y, xy↔xz};
2) G = {f1, f2 , f3 , f4 } = {x ⊕ y, xy ⊕ z, x ⊕ y ⊕ z ⊕ 1, xy ⊕ yz ⊕ xz}. Аналогичные действия дают следующие результаты (см. табл. 1.28):
Таблица 1.28
Функция
P0
P1
S
L
M
f1
f2
f3
f4
+
+
–
+
–
–
–
+
+
–
+
–
–
–
+
+
–
–
–
+
ÊÍÔG= f3 ( f1 ∨ f2 ∨ f3 )( f2 ∨ f4 )( f1 ∨ f2 )( f1 ∨ f2 ∨ f3 ).
ÄÍÔ=
G f2f3 ∨ f1f3f4 .
Таким образом: Б1={xy⊕z, x⊕y⊕z⊕1}, Б2={x⊕y, x⊕y⊕z⊕1,
xy⊕yz⊕xz}.
xy ∨ xz, x, x → y, 0, x ⊕ zy . Таблица Поста
3) G =
{f1,f2 ,f3 ,f4 ,f5 } =
приведена в табл. 1.29.
{
}
Таблица 1.29
Функция
P0
P1
S
L
M
f1
f2
f3
f4
f5
+
–
–
+
+
+
–
+
–
–
–
+
–
–
–
–
+
–
+
–
–
–
–
+
–
217
ÊÍÔG = ( f2 ∨ f3 )( f2 ∨ f4 ∨ f5 )( f1 ∨ f3 ∨ f4 ∨ f5 )( f1 ∨ f3 ∨ f5 )( f1 ∨ f2 ∨ f3 ∨ f5 ).
=
ÄÍÔG = f1f2 ∨ f2 f3 ∨ f2f5 ∨ f3 f4 ∨ f3 f5 . Á
1
=
Á2
{xy ∨ xz, x},
Á3 {x, x ⊕ zy}, Б4={x→y, 0}, Б5={x→y, x⊕zy}.
{x, x → y},=
1.18.16.
∂f
∂f
∂f
∂2 f
= x2 ∨ x3 ,
= x2 x3 ,
= x1 x2 ,
= x3 ,
∂x1
∂x2
∂x3
∂x1∂x2
∂2 f
x3 ∨ x1x2 ∨ x1 x2 ,
=
∂ ( x1, x2 )
∂2 f
= x2 ,
∂x1∂x3
∂2 f
∂2 f
= x1 x3 ∨ x2 ∨ x1 x2 x3 ,
= x1,
∂ ( x1, x3 )
∂x2∂x3
∂2 f
= x1 x2 x3 ∨ x2 x3 ,
∂ ( x2 , x3 )
(
)
∂3f
= 1,
∂x1∂x2∂x3
∂3f
= x1 x2 x3 ∨ x1x2 x3 ∨ x1x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 ∨ x1x2 x3 .
∂ ( x1, x2 , x3 )
1.18.17. 1) f ( x, y, z ) = x ∨ y → z ≡ x y ∨ z,
∂f
∂f
∂f
= y z,
= x z, = x ∨ y,
∂z
∂x
∂y
∂2 f
∂2 f
∂2 f
∂3f
= y,
= z,
= x,
= 1.
∂x∂z
∂x∂y
∂y∂z
∂x∂y∂z
Тогда f(x, y, z)=1⊕1⋅x⊕1⋅y⊕0⋅z⊕1⋅xy⊕1⋅xz⊕1⋅yz⊕1⋅xyz=1⊕x⊕y⊕xy⊕x
z⊕yz⊕xyz;
2) f ( x, y ) = x ∨ y → ( x ↔ y ) ≡ xy ∨ x y,
∂f
∂f
∂2 f
= 1,
= 1,
= 0,
∂y
∂x
∂x∂y
f(x, y)=1⊕1⋅x⊕1⋅y⊕0⋅xy=1⊕x⊕y;
3) f ( x, y, z ) =
( x → z )( y → z ) → ( x → y ) ≡ x ∨ y ∨ z,
∂f
∂f
= xz,
= yz,
∂y
∂x
∂f
∂2 f
∂2 f
∂2 f
∂3f
= xy,
= y,
= z,
= x,
= 1,
∂z
∂x∂z
∂x∂y
∂y∂z
∂x∂y∂z
f(x, y, z)=1⊕0⋅x⊕0⋅y⊕0⋅z⊕0⋅xy⊕1⋅xz⊕0⋅yz⊕1⋅xyz=1⊕xz⊕xyz.
218
1.18.18. 1) Рассмотрим два случая: x=k–1 и x≠k–1. В первом случае x = 0 и (–x)=(–0)=0 по определению. Правая часть
x = k - 1 - x = k - 1 - k + 1 = 0.
формулы
Таким
образом,
равенство выполняется. Во втором случае левая часть равна
- x = k - x = k - ( x + 1) mod k = k - x - 1. По определению x = k - 1 - x,
следовательно, k–1–x=k–1–x;
2) Пусть x=k–1, тогда
( )
(
)
y,
x = 0, x = k - 1 - x = k - 1 - k + 1 = 0.  x + y =
y.
0 ( y ) =
( x ) + ( y ) =+
Пусть теперь
(
)
x≠k–1. x= x + 1,  x + y =  ( x + 1 + y ) = k - 1 - x - 1 - y = k - 2 - x - y,
x = k - 1 - x, y = k - 1 - y,
( x ) + ( y ) = k - 1 - x + k - 1 - y = k - 2 - x - y;
3) Рассмотрим три случая. Пусть сначала x=k–1. Тогда по определению элементарных операций
( )
0,
x = 0, min x, y = 0, min ( x, y=
) min ( k - 1, y=) y, y= y +1, y ÷ x =
J0(0)=k–1, jk-1(x)=jk-1(k–1)=1, min ( x, y ) + J0 ( y ÷ x ) - jk-1 ( x ) ⋅ y =
( )
= y + 1 + k - 1 - y = k = 0. min
=
x, y min
=
( 0, y ) 0.
Пусть теперь x≠k–1, но x≥y. Тогда
0, J0 ( y ÷ x ) =k - 1, jk-1(x)=0;
min(x, y)=y, min ( x, y )= y +1, y ÷ x =
( )
y+1+k–1–0⋅y=k+y=y, min x, y= min ( x + 1, y=
) y.
Наконец, пусть x≠k–1, но x<y. Тогда аналогично
min(x, y)=x, min ( x, y )= x +1, x= x + 1, y ÷ x = y - x, J0(y–x)=0,
( )
jk-1(x)=0; x+1+0–0⋅y=x+1, min x, y = x +1.
1.18.19.
1) Таблица истинности этой операции очень короткая (табл. 1.30).
Разложение по формуле (1.16.9) или (1.16.10) имеет следующий вид:
f(x)=(f(0)∧J0(x))∨(f(1)∧J1(x))∨(f(2)∧J2(x))=(1∧J0(x))∨(2∧J1(x))∨(0∧J2(x))
=J0(x)∨2J1(x).
Если воспользоваться другим обозначением для операций конъюнкции и дизъюнкции, то получим
f(x)=max{min(1, J0(x)), min(2, J1(x)),
219
Таблица 1.30
x
0
f ( x ) = x
3
1
2
2
1
Таблица 1.31
3
0
x
f =x
0
1
2
1
2
0
min(0, J2(x))}=max{min(1, J0(x)), J1(x)},
так как min(2, J1(x))=J1(x), а min(0, J2(x))=0.
Аналогично, вторая форма разложения имеет вид
f(x)=(f(0)⋅j0(x)+f(1)⋅j1(x)+f(2)⋅j2(x))mod3=(j0(x)+2⋅j1(x))mod3;
2) f(x)=(3∧J0(x))∨(2∧J1(x))∨(1∧J2(x))∨(0∧J3(x))=3⋅J0(x)∨2⋅J1(x)∨J2(x)=
=max{J0(x), min(2, J1(x)), min(1, J2(x))}.
f(x)=(3⋅j0(x)+2⋅j1(x)+1⋅j2(x)+0⋅j3(x))mod4=(3⋅j0(x)+2⋅j1(x)+j2(x))mod4.
Таблица истинности этой функции приведена в табл. 1.31.
3) f = x ÷ y2 = x ÷ y ⋅ y. Таблица истинности имеет вид табл. 1.32.
Таблица 1.32
x
y
y⋅y
f = x ÷y⋅y
0
0
0
0
0
1
1
0
0
2
1
0
1
0
0
1
1
1
1
0
1
2
1
0
2
0
0
2
2
1
1
1
2
2
1
1
f(x, y)=(1∧J1(x)∧J0(y))∨(2∧J2(x)∧J0(y))∨(1∧J2(x)∧J1(y))∨(1∧J2(x)∧
∧J2(y))=max {min(1, J1(x), J0(y)), min(J2(x), J0(y)), min(1, J2(x),
J1(y)), min(1, J2(x), J2(y))},
f(x, y)=(j1(x)⋅j0(y)+2⋅j2(x)⋅j0(y)+j2(x)⋅j1(y)+j2(x)⋅j2(y))mod3.
1.18.20. 1) Сначала пред ставим функцию f ( x=
) x2 ÷ x (при k=5)
во второй форме.
220
Таблица истинности f(x) дана в табл. 1.33.
f(x)=f(0)⋅j0(x)+f(1)⋅j1(x)+f(2)⋅j2(x)+f(3)⋅j3(x)+f(4)⋅j4(x)=
=0⋅j0(x)+0⋅j1(x)+2⋅j2(x)+1⋅j3(x)+0⋅j4(x)=2⋅j2(x)+j3(x).
Таблица 1.33
x
x⋅x
=
f x2 ÷ x
0
1
2
3
4
0
1
4
4
1
0
0
2
1
0
Составим таблицу истинности (табл. 1.34) нескольких вспомогательных функций, из которой можно получить несколько соотношений: j0(x)=1–xk–1, ji(x)=j0(x–i), i=1, 2,…, k–1 (последнее соотношение очевидно по определению).
Таблица 1.34
i
x
x-i
ji(x)
xk–1
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
0
0
0
0
0
1
0
0
0
0
2
1
0
0
0
3
2
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1–xk–1
j0(x–i)
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
221
Окончание табл. 1.34
i
x
x-i
ji(x)
xk–1
1–xk–1
j0(x–i)
0
1
2
3
4
4
4
4
4
4
4
3
2
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
0
Тогда
j2(x)=j0(x–2)=1–(x–2)k–1=1–(x–2)4=1–(x4+2x3–x2–2x+1)=
=–x4–2x3+x2+2x,
4
j3(x)=j0(x–3)=1–(x–3) =1–(x4–2x3–x2+2x+1)=–x4+2x3+x2–2x,
f(x)=2⋅j2(x)+j3(x)=2x4–2x3–2x2+2x.
Все умножения и сложения производятся по модулю пять.
Применим к этой же задаче более понятный здесь метод неопределенных коэффициентов: f(x)=a0+a1x+a2x2+a3x3+a4x4. Более высоких показателей степени не будет, ибо x4+i=ximod5. Составим систему уравнений:
a0=f(0)=0,
a0+a1+a2+a3+a4=f(1)=0,a0+2a1+4a2+3a3+a4=f(2)=2,
a0+3a1+4a2+2a3+a4=f(3)=1,
a0+4a1+a2+4a3+a4=f(4)=0.
Из решения системы находим a0=0, a1=2, a2=3, a3=3, a4=2, то есть
f(x)=2x+3x2+3x3+2x4;
2) f ( x,=
y ) max ( 2x ÷ y, x ⋅ y ),=
k 3. В табл. 1.35 таблица истинности f(x, y).
Таблица 1.35
222
x
2⋅x
y
x⋅y
2x ÷ y
f(x, y)
0
0
0
1
1
1
2
2
2
0
0
0
2
2
2
1
1
1
0
1
2
0
1
2
0
1
2
0
0
0
0
1
2
0
2
1
0
0
0
2
1
0
1
0
0
0
0
0
2
1
2
1
2
1
Найдем сначала полином методом неопределенных коэффициентов. Здесь x3+i=ximod3, то есть в разложении у x и y не будет степеней выше второй. Сам многочлен будет иметь вид
f(x, y)=a0+a1x+a2y+a3xy+a4x2+a5y2+a6xy2+a7yx2+a8x2y2.
Составим систему уравнений для его коэффициентов:
f(0, 0)=0=a0,
f(0, 1)=0=a2+a5,
f(0, 2)=0=2a0+a5,
f(1, 0)=2=a1+a4,
f(1, 1)=1=a1+a2+a3+a4+a5+a6+a7+a8,
f(1, 2)=2=a1+2a2+2a3+a4+a5+a6+2a7+a8,
f(2, 0)=1=2a1+a4,
f(2, 1)=2=2a1+a2+a3+a4+a5+a6+a7+a8,
f(2, 2)=1=2a1+2a2+a3+a4+a5+2a6+2a7+a8.
Система легко решается методом исключения: a0=0, a1=2, a2 = 0 ,
a3=1, a4=a5=0, a6=1, a7=a8=0. Таким образом, f(x, y)=2x+xy+xy2.
Представим теперь функцию f(x, y) в первой и второй форме:
f(x, y)=(2∧J1(x)∧J0(y))∨(1∧J1(x)∧J1(y))∨(2∧J1(x)∧J2(y))∨(1∧J2(x)∧
∧ J0(y))∨(2∧J2(x) ∧J1(y))∨(1∧J2(x)∧J2(y))=2⋅j1(x)⋅j0(y)+1⋅j1(x)⋅j1(y)+
+2⋅j1(x)⋅j2(y)+1⋅j2(x)⋅j0(y)+2⋅j2(x)⋅j1(y)+1⋅j2(x)⋅j2(y).
Воспользуемся полученными в предыдущем примере соотношениями j0(x)=1–xk–1 и j1(x)=j0(x–i), i=1, 2,…, k–1. Тогда
j1(x)=j0(x–1)=1–(x–1)2=1–x2+2x–1=–x2+2x, j0(y)=1–y2,
j1(y)=–y2+2y, j2(y)=j0(y–2)=1–(y–2)2=1–y2+y–1=–y2+y, j2(x)=–x2+x.
Наконец, получим выражение для самой функции:
f(x,
y)=(–x2+2x)(2–2y2)+(–x2+2x)(–y2+2y)+(–2x2+x)(–y2+y)+(–
2
2
x +x)(1–y )+(–2x 2+2x)(–y 2+2y)+(–x 2+x)(–y 2+y)=–2x 2+x+2x 2 y 2–
x y 2 +x 2 y 2 –2x y 2 –2yx 2 +x y+2x 2 y 2 –x y 2 –2yx 2 +x y –x 2 +x+x 2 y 2 –
xy2+2x2y2–2xy2–x2y+xy+x2y2–xy2–yx2+xy=2x+xy+xy2.
Ответы и решения практического занятия №4
1.20.1. а) x = ϕ2 ( x, x ), так как x y = xy , элемент j2 уже реализует
x=
x xx
= x. Задержка равна единице. На рис. 1.1 изображена схема
для x. Мы ранее предполагали, что все функциональные элементы,
из которых строятся схемы, являются однотактными. Следовательно, сигнал на выходе схемы, равный x (рис. 1.1), появится через
223
x x =1
xy
ϕ2
ϕ2
x
ϕ2
x
ϕ2
ϕ2
x
y
x
x
ϕ2
x y
x
x
ϕ1
x
y
y
Рис. 1.3
Рис. 1.2
Рис. 1.1
x
y
x
xy
x
ϕ2
x∨y
ϕ2
x
x
x
Рис. 1.4
один такт после появления сигнала x на обоих входах функционального элемента j2;
= xy
= x y. Задержка равна двум такб) xy = ϕ2 ( x, y ), так как xy
там. На входах нижнего элемента (рис. 1.2) – сигналы x и y, на выходе xy = x y. На входах верхнего элемента xy и xy, на выходе
( x y ) ( x y=) ( x y )( x y=)
xy xy
= xy
= xy
= ϕ2 ( x, y );
в) x ∨ y = x ∨ y = xy = ( x x )( y y ). Задержка равна двум тактам. На
входах нижних элементов x и y (рис. 1.3), на выходах x и y; на выx y=
ϕ2 x, y ;
ходе верхнего элемента x ∨ y =
г) 1 = 0 = xx = x x = ϕ2 x, x . На входе схемы x. x = ϕ2 ( x, x ), т. е.
на выходе нижнего элемента j2 через такт, так как все элементы
однотактовые, вырабатывается x. Следовательно, левый сигнал
на верхний элемент j2 должен подаваться с задержкой в один такт.
j1 – элемент, реализующий задержку x на один такт (рис. 1.4). На
выходе верхнего элемента j2 сигнал равен
0
x x= xx= 0= 1. Задержка схемы равна двум
ϕ2
тактам;
1
1
д) смотрите предыдущий пункт г. Общая
1
задержка
схемы равна трем тактам (рис. 1.5);
ϕ2
( )
( )
x
ϕ1
x
x
x
x
Рис. 1.5
224
е) x ⊕ y = xy ∨ xy = x ∨ y ∨ x ∨ y =
ϕ2
x
( ) ( )
= x∨y∨x∨y = x y ∨ x y =
(
ϕ2 ( x ∨ y, x ∨ y ) =
) (x ∨ y) =
=
ϕ2 ( ϕ2 ( x, y ), ϕ2 ( x, y ) ).
=
x∨y
x⊕y
(
¬ x∨ y
ϕ2
)
(
ϕ2
x
ϕ1
ϕ2
y
x
)
¬ x∨ y
x
ϕ2
ϕ2
y
x x
y
x
y
ϕ1
y
y
Рис. 1.6
Задержка схемы равна трем тактам (рис. 1.6). На рис. 1.6 знака-
(
)
(
(
)
) (
)
ми ¬ x ∨ y и ¬ x ∨ y обозначены x ∨ y и x ∨ y .
1.20.2. Перечислим все простые цепи схем, изображенных на
рис. 1.14 (cтр. 73) и определим по ним дизъюнкцию по формуле
(1.18.1). После упрощения полученных выражений найдем функцию проводимости:
а) xyt ∨ tyt ∨ xz ∨ y xt ∨ y xyz ∨ tz ≡ yt ( x ∨ 1) ∨ xz ∨ y xt ∨
∨ y xyz ∨ tz ≡ yt ∨ xz ∨ tz ∨ y xt;
0;
б) xyx ∨ xtx ∨ xytyx ∨ xyx ∨ xt x ∨ xytyx ∨ xtytx =
в) xy ∨ xzu ∨ tu ∨ tzy.
1.20.3. Релейно-контактные схемы заданных функций изображены на рис. 1.7.
a)
б)
x
в)
x
y
z
z
x
y
t
y
y
z
x
z
Рис. 1.7
1.20.4.
а) ( y ∨ z ) → xy ≡ y ∨ z ∨ xy ≡ y z ∨ xy ≡ y x ∨ z (рис. 1.8, а);
(
)(
)
(
(
)
)
(
)
б) xy ↔ yx ≡ xy → yx yx → xy ≡ xy ∨ yx ∧ yx ∨ xy ≡
225
a)
б)
в)
x
z
y
x
y
x
x
x
y
x
y
x
y
y
y
z z
z
z
Рис. 1.8
((
)
≡ x ∨ y ∨ yx
)(( y ∨ x ) ∨ xy ) ≡ ( x ∨ y ∨ yx )( x ∨ y ∨ xy ) ≡
(
)( )
( xy ∨ xy ) ⊕ z= ( xy ∨ xy ) z ∨ ( xy ∨ xy )z ≡
≡ x ∨ y x ∨ y ≡ xy ∨ x y
в) x ⊕ y ⊕ z=
(рис. 1.8, б);
)
(
≡ xy z ∨ xyz ∨ xy ∧ xy z ≡ xyz ∨ xyz ∨ xyz ∨ x yz (рис. 1.8, в).
(
)
1.20.5. а) схема формулы x ∨ yz ( xy ∨ zt ) изображена на рис. 1.9.
y
x
x
z
z
y
t
Рис. 1.9
((
) )
б) π-схема формулы x y ∨ z ∨ t x приведена на рис. 1.10.
y
x
x
z
t
Рис. 1.10
1.20.6. а) рассмотрим множество простых цепей схемы вида
n
∏ xiσi .
i =1
Очевидно, две цепи x1, x2,…, xn и x1 x2 ...xn не будут иметь
в составе элементы xi и xi одновременно, их функция проводимо=
сти f x1x2 ...xn ∨ x1 x2 ...xn . Хотя остальные цепи также будут существенны (каждая внутренняя вершина будет обходиться один
раз), их функция проводимости будет равна нулю;
226
б) существует лишь одна цепь без повторений элементов xi и xi .
Это цепь x1x2 ...xn xn -1, функция проводимости по остальным цепям равна нулю.
1.20.7. Упростим приведенные формулы, чтобы π-схема была
проще.
а) x yz ∨ yz ∨ x yz ∨ yz ≡ x yz ∨ y ∨ z ∨ x yz ∨ yz ≡
(
) (
) (
) (
)
≡ xyz ∨ xy ∨ xz ∨ x yz ∨ xyz ≡ y ( x ∨ xz ) ∨ z ( x ∨ xy ) ∨ xyz ≡ y ( x ∨ z ) ∨
∨ z ( x ∨ y ) ∨ xyz ≡ xy ∨ yz ∨ xz ∨ yz ∨ xyz ≡ x ( y ∨ yz ) ∨ yz ∨ xz ∨ yz ≡
≡ xy ∨ xz ∨ yz ∨ xz ∨ yz ≡ x ( z ∨ y ) ∨ z ( x ∨ y ) ∨ yz.
Схема изображена на рис. 1.11, а;
a)
x
z
y
в)
б)
x
или
z
x
y
x
x
y
y
z
Рис. 1.11
б)
( ( x → y ) ∧ ( y → z ) ) → ( x → z ) ≡ ( x ∨ y )( y ∨ z ) ∨ ( x ∨ z ) ≡
(
) (
)
≡ xy ∨ yz ∨ x ∨ z ≡ x ∨ xy ∨ z ∨ zy ≡ x ∨ y ∨ z ∨ y ≡ 1 ≡ x ∨ x (рис. 1.11, б);
x∨y= x↓y ↓ x↓y ,
в) Очевидно,
что
x ↓ y = x ∨ y,
(
) (
(
)
) (
)
x ∧ y = x ↓ x ↓ y ↓ y . Тогда x ↓ y = x ∧ y ≡ x y. Схема изображена на
рис. 1.11, в.
1.20.8. Предложенные схемы являются π-схемами. Составим
вначале для них функции проводимости и упростим эти функции.
а) x ∨ y z ∨ x y ∧ z xyz ∨ x y z ≡ xz ∨ yz ∨ xx ∨ x y ×
(
)( )( )(
) (
× ( xyz ∨ xyzz ∨ z y zy ∨ x y z ) ≡ xyz ∨
)
∨ xyzyz ∨ xyzy x ∨ x y zxz ∨ x y z yz ∨ x y z y x ≡ xyz ∨ x y z (рис. 1.12, а);
б )   xyz ∨ x y z yz ∨ t y ∨ z ≡ xyz ∨ x y zyz ∨ t y ∨ z ≡ xyz ∨ t y ∨ z
(рис. 1.12, б);
(
)
(
)
(
)
(
)
227
y
a)
б))
x
y
в
z
x
z
x
z
y
x
t
z
y
Рис. 1.12
в) x ( x ∨ y1 )( x ∨ y2 )...( x ∨ yn ) ≡ x ( x ∨ xy1 ∨ xy2 ∨ y1y2 )( x ∨ y3 )...
...( x ∨ yn ) ≡ x ( x ∨ xy1 ∨ xy2 ∨ xy1y2 ∨ xy3 ∨ xy1y3 ∨ xy2 y3 ∨ y1y2 y3 )...
...( x ∨ yn ) ≡ x ( x ∨ xy1 ∨ xy2 ∨ ... ∨ xyn ∨ xy1y2 ∨ ... ∨ xy1y 2...yn ∨ ...
... ∨ y1y2 ...yn ) ≡ x ( x ∨ y1y2 ...yn ) ≡ x ∨ xy1y2 ...yn ≡ x (рис. 1.12, в).
1.20.9.
( )
а) f x 3 = x1 ⊕ x2 ⊕ x3 ⊕ 1, n=3, i=1, 2, 3.
Так как x ⊕ y = xy ∨ xy, то
( x1 x2 ∨ x1x2 ) ⊕ x=3 ( x1 x2 ∨ x1x2 ) x3 ∨ ( x1 x2 ∨ x1x2 )x=3
= x1 x2 x3 ∨ x1x2 x3 ∨ ( x1 ∨ x2 )( x1 ∨ x2 ) x
=
3
f (x1, x2 , x3=
)
= x1 x2 x3 ∨ x1x2 x3 ∨ x1x2 x3 ∨ x1 x2 x3 .
Эта формула порождает следующую схему (см. рис. 1.13, а). Схему можно упростить, если обратиться к сути функции проводимости Ka,b = ∨ K[a,b] . Тогда получим следующую схему (см. рис.
[a,b]
1.13, б). Эта схема уже не является π-схемой.
x2
а)
x1
x2
x1
x1
x1
x2
x2
x2
б)
x3
x3
x1
x3
x3
x2
x3
x1
x2
x2
x3
Рис. 1.13
б) f ( x1, x2 , x3 ) = x1x2 ∨ x2 x3 ∨ x3 x1 = x1 ( x2 ∨ x3 ) ∨ x2 x3 .
этой функции имеют следующий вид (см. рис. 1.14, а, б).
228
π-схемы
б)
а)
x1
x2
x2
x3
x3
x1
x1
x2
x2
x3
x3
Рис. 1.14
1.20.10. Введем следующие обозначения для высказываний:
p={машина синего цвета}, q={машина марки «Бьюик»}, r={машина черного цвета}, s={машина марки «Крайслер»}, t={машина марки «Форд»}.
Из показаний Брауна, Джонса и Смита следует, что высказывания p∨q≡1, r∨s≡1, p ∨ t ≡ 1. Конъюнкция этих высказываний также будет истинна, т. е. ( p ∨ q )( r ∨ s ) p ∨ t ≡
≡ 1 ≡ pr p ∨ prt ∨ ps p ∨ pst ∨ qr p ∨ qrt ∨ qs p ∨ qst. Однако все конъюнкции, кроме qrp, ложны. Следовательно, qr p ≡ 1, т. е. преступники скрылись на черном «Бьюике».
1.20.11. Обозначим через x высказывание x={первый студент
изучал логику}. Аналогично y={второй студент изучал логику},
z={третий студент изучал логику}. Тогда условия задачи дают:
1) x→z≡1;
2) y → z ≡ 1.
Составим конъюнкцию этих высказываний
(
)
( x → z )( y → z ) ≡ 1 ≡ ( x ∨ z )( y ∨ z ) ≡≡ ( x ∨ z )( y ∧ z ) ≡ xyz ∨ zyz ≡ xyz.
Таким образом, xyz ≡ 1, т. е. логику изучал только второй студент.
1.20.12. Обозначим через x, y, z, t следующие высказывания:
x={первый студент сдал экзамен}, y={второй студент сдал экзамен},
z={третий студент сдал экзамен}, t={четвертый студент сдал экзамен}. Тогда
1) x→y≡1;
2) y → z ∨ x ≡ 1;
3) t = x ∧ z ≡ 1;
4) t→z≡1.
Очевидно, что ( x → y ) y → z ∨ x t → xz ( t → x ) ≡ 1 ≡
(
)(
)
≡ ( x ∨ y )( y ∨ z ∨ x )( t ∨ xz )( t ∨ x ) ≡ ( x y ∨ yy ∨ xz ∨ yz ∨ yx ∨ x ) ×
× ( tt ∨ xzt ∨ xt ∨ xz ) ≡ ( yz ∨ x )( xt ∨ xz ) ≡ xyzt ∨ xxt ∨ yzxz ∨ xx z ≡ xyzt ≡ 1.
Таким образом, экзамен сдали все четыре студента.
229
1.20.13. Основное условие этой задачи заключается в том, что
шесть человек будущей экспедиции должны выполнять шесть обязанностей строго индивидуально. Кроме того, имеются ограничения на персональный состав: если едет F, то должен ехать B, если
едет D, то должны одновременно ехать H и C, т. е. в состав экспедиции входят FB и DHC. Напротив, CG≡0 и AB≡0. Шесть специальностей экспедиции должны быть обязательно заняты, т. е.
(E∨G)(B∨F)(F∨G)(C∨D)(C∨H)(A∨D)≡1
или
(BE∨BG∨EF∨FG)(CF∨CG∨DF∨DG)(AC∨AH∨CD∨DH)≡
≡ (BCEF∨BCFG∨CEF∨CFG∨BCEG∨BCG∨CEFG∨CFG∨BDEF∨
∨BDFG∨DEF∨DFG∨BDEG∨BDG∨DEFG∨DFG)(AC∨AH∨CD∨DH).
Исключим сразу логические слагаемые из трех членов, так как
в экспедиции должно быть шесть человек (не допускается совмещение специальностей) и логические слагаемые, содержащие CG≡0.
Тогда
(BCEF∨CEFG∨BDEF∨DEFG)(AC∨AH∨CD∨DH)≡(ABCEF∨ACEFG∨
∨ABCDEF∨ACDEFG∨ABCEFH∨ACEFGH∨ABDEFH∨ADEFGH∨
∨BCDEF∨CDEFG∨ ∨BCDEF∨CDEFG ∨BCDEFH∨
∨CDEFGH∨BDEFH∨DEFGH).
Опять исключим пятичленные логические слагаемые и учтем
условие AB≡0. Получим BCDEFG≡1. Набор специальностей заполним по порядку. Пусть B будет гидрологом, тогда F гидрологом не
может быть, а будет синоптиком. Аналогично C – радист, D – врач,
E – биолог, а H – механик.
1.20.14. Поскольку в каждом из ответов лишь одно утверждение
из двух истинное, то истинной будет их дизъюнкция. Тогда
(С1∨P2)∧(C2∨B3)∧(Ю2∨B4)≡1≡(C1C2∨P2C2∨C1B3∨P2B3)×
×(Ю2∨B4)≡C1C2Ю2∨P2C2Ю2∨C1B3Ю2 ∨P2B3Ю2∨C1C2B4∨P2C2B4∨
∨C1B3B4∨P2B3B4≡C1B3Ю2≡1.
Отсюда P4≡1, и места распределились так: Сергей – первый,
Юрий – второй, Виктор – третий, Роман – четвертый.
230
1.20.15. Введем следующие обозначения: ПК={Петя видел Колю
на улице}, КК={Коля ходил в кино}, КП={Коля сказал правду},
ПП={Петя сказал правду}. Условия задачи следующие:
1) ÏÊ → ( ÊÊ ∨ ÏÏ ) ≡ 1;
(
)
3) ÊÏ → ( ÊÊ ∨ ÏÏ ) ≡ 1.
2) ÊÊ → ÏÊ ∧ ÊÏ ≡ 1;
Отсюда
(
( ÏÊ → ( ÊÊ ∨ ÏÏ ) ) ( ÊÊ → ( ÏÊ ÊÏ )) ( ÊÏ → ( ÊÊ ∨ ÏÏ )) ≡
≡ ( ÏÊ ∨ ÊÊ ∨ ÏÏ ) ( ÊÊ ∨ ÏÊ ÊÏ )( ÊÏ ∨ ÊÊ ∨ ÏÏ ) ≡
)
≡ ÏÊ ÊÊ ∨ ÊÊ ∨ ÏÏ ÊÊ ∨ ÏÊ ÏÊ ÊÏ ∨ ÊÊ ÏÊ ÊÏ ∨ ÏÏ ÏÊ ÊÏ ×
(
) (
× ÊÏ ∨ ÊÊ ∨ ÏÏ ≡ ÊÊ ∨ ÏÏ ÏÊ ÊÏ
)( ÊÏ ∨ ÊÊ ∨ ÏÏ ) ≡
≡ ÊÊ ÊÏ ∨ ÏÊ ÏÊ ÊÏ ÊÏ ∨ ÊÊ ∨ ÏÏ ÏÊ ÊÏ ÊÊ ∨ ÊÊ ÏÏ ∨
∨ ÏÏ ÏÊ ÊÏ ÏÏ ≡ ÊÊ ≡ 1.
Итак, Коля ходил в кино.
1.20.16. Обозначим город, куда собираются поехать друзья буквой в нижнем индексе фамилии. Тогда условия задачи дадут следующие уравнения:
1) AM → CO ≡ 1;
2) BM ∧ BT → AM ≡ 1;
3) CT → BK ≡ 1;
4) DM → BM ≡ 1;
5) DO → BM ≡ 1.
Конъюнкция этих высказываний также будет истинной. Запишем ее и упростим полученное выражение:
231
( AM → CO )( BM BT → AM )( CT → BK )( DM → BM )( DO → BM ) ≡
≡ ( AM ∨ CO ) ( BM ∨ BT ∨ AM )( CT ∨ BK ) ( DM ∨ BM )( DO ∨ BM ) ≡
≡ ( AM BM ∨ CO BM ∨ AM BT ∨ C O BT ∨ AM ∨ AM CO ) ×
× ( CT DM ∨ BK DM ∨ CT BM ∨ BK BM )( DO ∨ BM ) ≡
( BM CO ∨ BT CO ∨ AM ) ( CT DM DO ∨ BK DM DO ∨ CT BM DO ∨ BK BM DO ∨
∨ CT DM BM ∨ BK DM BM ∨ CT BM ∨ BK BM ) ≡ BM CO CT BM DO ∨
∨ BT CO CT BM DO ∨ AM CT BM DO ∨ BM CO CT BM ∨ AM CT BM ∨
∨ BM CO BK BM ∨ BT CO BK BM ∨ AM BK BM ≡
≡ AM CT BM DO ∨ AM CT BM ∨ AM BK BM ≡ 1.
Каждое из логических слагаемых может быть истинным. Рассмотрим первое: A MCTDO≡1, тогда BK≡1. Для второго: A MCT≡1, тогда либо BODK≡1, либо DOBK≡1, однако второе сочетание уже встречалось в первом слагаемом. Аналогично, третье слагаемое дает
A MBK≡1, тогда CODT≡1 или CTDO≡1. Итак, окончательный выбор
городов таков: A MBKCTDO∨ A MBOCTDK∨A MBKCODT.
1.20.17. Обозначим фамилию школьника с индексом внизу, равным номеру убранного класса. Сообщения учеников с учетом ложности одного и истинности другого высказывания будут иметь вид
(A9∨C7)∧(K9∨A8)∧(C8∨K10)≡1≡(A9K9∨C7K9∨A9A8∨C7A8)(C8∨K10)≡
≡C7C8K9∨C7C8A8∨C7K9K10∨C7A8K10.
Итак, C7A8K10≡1, т. е. Д9≡1. Андреев убирал 8-й класс, Костин –
10-й, Савельев – 7-й, а Давыдов – 9-й.
232
2. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ
Ответы и решения практического занятия №5
2.4.1.
а) A → B, A∧B, A→B, A, B;
б) (A→B)∧(B→C), A ∨ C, A→B, B→C, A, A, B, C;
в) A, B → ( A → B ), B, A → B, A→B, B;
г) A1→A2∨A3, A3, A1, A2∨A3, A2.
2.4.2. С помощью подстановки выводимая формула получается лишь тогда, когда подстановка осуществляется в одну из аксиом
(2.1.1). Таким образом, необходимо лишь подобрать нужную аксиому.
A ∧ B,C
а) ∫ ( x → ( x ∨ y ) ) ≡ - A ∧ B → A ∧ B ∨ C;
x,y
A,B ∧ C, A
б) ∫
( z → x ) → (( z → y ) → ( z → x ∧ y )) ≡
x,y,z
≡ - ( A → A ) → ( ( A → B ∧ C ) → ( A → A ∧ B ∧ C ) );
A ∧ B,C,B ∧ C
∫
в)
( x → ( y → z)) → (( x → y ) → ( x → z)) ≡
x,y,z
≡ - ( A ∧ B → ( C → B ∧ C ) ) → ( ( A ∧ B → C ) → ( A ∧ B → B ∧ C ) );
A ∨ B,C
г)
∫ ( x → y ) → ( y → x ) ≡ - ( A ∨ B → C ) → ( C → A ∧ B ).
x,y
2.4.3. Выводом в исчислении высказываний называется конечная последовательность формул A1, A2,…, An, такая, что ∀i (1≤i≤n) Ai
есть либо аксиома, либо непосредственное следствие предыдущих
аксиом, причем аксиомой называется всякая формула, полученная
из схемы аксиом (2.1.1) по правилу подстановки, а непосредственное
следствие получается по правилу простого заключения.
а) вывод, так как A→(A∨B) – аксиома
III1 :
A, B
∫ ( x → x ∨ y ) ≡ - A → ( A ∨ B );
x,y
233
б) вывод. Первый член – аксиома III1 , второй член получен подстановкой
A → A ∨ B,B
∫
x → ( y → x ) ≡ - ( A → A ∨ B ) → ( B → ( A → A ∨ B ) ),
x,y
третий по правилу простого заключения из первых двух;
в) данная последовательность формул не является выводом, так
как второй член последовательности A→(B→A)→B не может быть
получен подстановкой ни в одну из аксиом (2.1.1).
2.4.4.
а) Γ = { A → ( B → C ), A, B} : A, B, A → ( B → C ),
B→C
ïî ÏÏÇ
- A, - A →( B →C )
,
- B →C
C
ïî ÏÏÇ
- B, - B →C
;
-C
{
}
( A → B) → ( B → A ) ,
IV1:( x →y )→( y →x )
A, B
∫ ( IV1 ) ≡ -( A → B )→( B → A )
б) Γ = A → B, B : B, A → B,
x,y
( A → B) → ( B → A ),
B
∫ ( A → B )→ B → A ≡
B
≡ - A → B → B→ A
(
в) =
Γ
(
) (
)
B→ A
(
)
- B∨ c
234
,
)
B
ïî ÏÏÇ
- A, - A → B
,
A
ïî ÏÏÇ
- B, - B → A
-A
- B→ A
-B
ïî ÏÏÇ
- B, - B → B ∨ C
) (
- A → B, - A → B → B → A
{ A → B, A} : A, A → B,
B∨C
,
ïî ÏÏÇ
B→ B∨C
,
III1:x →x ∨ y
B,C
∫ ( III1 ) ≡ - B → B ∨ C
x,y
( A → B) → ( A → B ∨ C)
ïî îáîáùåííîé òåîðåìå äåäóêöèè
A → B, A - B ∨ C
-( A → B )→( A → B ∨ C )
.
;
2.4.5. а) пусть Γ, B, B=Γ1={A1, A2,…, An, B, B}, тогда Γ, B=Γ2={A1,
A2,…, An, B}. Выводы из Γ1 и Γ2 будут одинаковы, так как вывод из
совокупности формул может содержать доказуемые формулы, формулы из рассматриваемого множества и формулы, полученные из
формул множества по правилу простого заключения. Все три источника формул вывода для Γ1 и Γ2 будут давать одинаковый состав
формул;
б) если A1, A2,…, An есть вывод A из Γ1, а B1, B2,…, Bk – вывод B из
Γ2, то A1, A2,…, An, B1, B2,…, Bk есть вывод B из Γ1, Γ2;
в) пусть A1, A2,…, An – вывод C из Γ1, A, B, Γ2. Вывод C из Γ1, B,
A, Γ2 будет такой же, только порядок формул в выводе может измениться. Качественный состав формул вывода от этого не изменится.
2.4.6. а) исходное множество произвольно, так как оно не задано.
Воспользуемся первой и девятой аксиомами:
A, B
∫
(
)
x → (y → x) ≡ - A → B → A ,
x,y
∫ ( x → y ) → ( y → x ) ≡≡ - ( B → A ) → ( A → B ).
B, A
x,y
По правилу силлогизма
(
) (
)
(
)
(
).
(
-A → B → A , - B → A → A → B
-A → A → B
по правилу соединения посылок
-A → A → B
-A ∧ A → B
),
Наконец, применим правило снятия двойного отрицания
-A ∧ A → B
-A ∧ A → B
и заменим B на F:
235
F
∫ A ∧ A → B ≡ - A ∧ A → F;
B
б) сделаем подстановки во второй, третьей, четвертой и девятой
аксиомах и применим правила силлогизма и сложного заключения.
Получим:
( A → B )∧ B,B, A
∫
( x → ( y → z)) → (( x → y ) → ( x → z)) ≡
x,y,z
(
)) ((( A → B ) ∧ B → B ) → (( A → B ) ∧ B → A )) ≡ A1,
(
≡ - ( A → B) ∧ B → B → A →
A → B,B
∫
x ∧ y → x ≡ - ( A → B ) ∧ B → ( A → B ),
x,y
A → B,B
∫
x ∧ y → y ≡ - ( A → B ) ∧ B → B ≡ A2 ,
x,y
A, B
∫ ( x → y ) → ( y → x ) ≡ - ( A → B ) → ( B → A ).
x,y
Пусть
(
)
A3 ≡ ( A → B ) ∧ B → B → A ,
тогда
(
- ( A → B ) ∧ B → ( A → B ), - ( A → B ) → B → A
(
-( A → B) ∧ B → B → A
(
- A3 , - A2 , - A3 → A2 →
)
(( A → B ) ∧ B → A ))
-( A → B) ∧ B → A
)
,
;
в) воспользуемся первой, второй, восьмой и десятой аксиомами,
правилами простого и сложного заключения, тогда
A, A
∫
x,y
236
(
)
x → (y → x) ≡ - A → A → A ,
A
∫ x → x ≡ - A → A,
x
A, A, A
∫ ( x → ( y → z)) →(( x → y ) → ( x → z)) ≡
x,y,z
) ( )
- A → ( A → A ), -  A → ( A → A )  →  ( A → A ) → ( A → A ) 

 
,
-( A → A ) → ( A → A )
- A → A, - ( A → A ) → ( A → A )
,
(
≡ -  A → A → A  →  A → A → ( A → A ) ,

 

-A → A
A, A, A
∫ ( x → z) → (( y → z) → ( x ∨ y → z)) ≡
x,y,z
≡ - ( A → A ) → ( ( A → A ) → ( A ∨ A → A ) ),
- A → A, - A → A, - ( A → A ) → ( ( A → A ) → ( A ∨ A → A ) )
-A ∨ A → A
;
г) применим третью, четвертую и восьмую аксиомы из (2.1.1) и
правила контрпозиции, снятия двойного отрицания и сложного заключения:
A,B, A ∧ B
∫
(
x,y,z
( x → z) → (( y → z) → ( x ∨ y → z)) ≡
) ((
))
) (
≡ - A→ A∧B → B→ A∧B → A∨B→ A∧B ,
A, B
∫
x ∧ y → x ≡ - A ∧ B → A,
x,y
A, B
∫
x ∧ y → y ≡ - A ∧ B → B,
x,y
-A → A ∧ B
-A → A ∧ B
,
-A ∧ B → B
-B → A ∧ B
,
-B → A ∧ B
-B → A ∧ B
-A ∧ B → A
-A → A ∧ B
,
,
237
) ((
(
) (
- A → A ∧ B, - B → A ∧ B, - A → A ∧ B → B → A ∧ B → A ∨ B → A ∧ B
-A∨B→ A∧B
)) ;
д) воспользуемся очевидной секвенцией C├C. Тогда по теореме
C -C
дедукции
. Пусть C=A∧B, т. е. ├A∧B→A∧B. По теореме разъ-C → C
единения посылок имеем
-A ∧ B → A ∧ B
- A → ( B → A ∧ B)
;
е) секвенция выводится применением первой и девятой аксиом,
правил силлогизма, снятия двойного отрицания, соединения, разъединения и перестановки посылок.
A, B
∫
(
)
x → (y → x) ≡ - A → B → A ,
x,y
∫ ( x → y ) → ( y → x ) ≡ - ( B → A ) → ( A → B ),
B, A
x,y
(
) (
)
(
)
(
-A → B → A , - B → A → A → B
-A → A → B
-A ∧ A → B
(
-A → A → B
)
,
),
(
-A → A → B
-A ∧ A → B
(
-A → A → B
),
-A ∧ A → B
-A ∧ A → B
,
).
- A → ( A → B)
2.4.7. Запишем все доказательства в виде вывода из исходного
множества формул:
а) Γ = { A → ( B → C )} : A → ( B → C ),
A∧B→C
;
ñîåäèíåíèå ïîñûëîê
- A →( B →C )
- A ∧ B →C
б) Γ={A→B}. Обозначим Γ1={A→B, A} и Γ2={A→B, B}. По теореме дедукции
238
A → B, A - A → B
A → B - A → ( A → B)
,
A → B, B - A → B
A → B -B → ( A → B )
A → B, C - A → B
,
A → B -C → ( A → B )
.
Тогда эти формулы можно добавить в вывод из Γ, т. е.
Γ: A→B, A→(A→B), B→(A→B), C→(A→B),
A∧C→B
,
ñîåäèíåíèå ïîñûëîê
- Ñ →( A → B )
- A ∧C→B
C → ( A → C)
A∧C→C
,
,
ñîåäèíåíèå ïîñûëîê
C
∫ B →( A → B ) ≡ - C →( A →C )
B
( A ∧ C → B ) → ( ( A ∧ C → C ) → ( A ∧ C → B ∧ C ) ),
II3:( z→x )→( ( z→y )→( z→x ∧ y ) )
B,C, A ∧ C
( II3 )≡-( A ∧C→B )→(( A ∧C→C )→( A ∧C→B ∧C ))
∫
x,y,z
A∧C→B∧C
ïî ïðàâèëó ñëîæíîãî çàêëþ÷åíèÿ
- A ∧ C → B, - A ∧ C →C, -( A ∧ C → B )→( ( A ∧ C →C )→( A ∧ C → B ∧ C ) )
;
- A ∧C→B∧C
=
в) Γ
{ A} : A,
(
A→ B→ A
I1:x →( y →x )
)
,
A, B
∫ ( I1 ) ≡ - A → B → A
x,y
(
)
A→B
,
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- A →B
B→ A
ïî ÏÏÇ
- A, - A → B → A
(
,
)
A→B
- A →B
- B→ A
A→B
,
êîíòðïîçèöèÿ
- B→ A
;
àíàëîãè÷íî
ïðåäûäóùåìó
- A →B
г) =
Γ
{ A → B} : A → B,
B→ A
,
êîíòðïîçèöèÿ
- A →B
- B→ A
д) Γ =
{ A → B, B → C} : A → B, B → C,
B→ A
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- B→ A
;
- B→ A
A→C
ñèëëîãèçì
- A → B, - B →C
;
- A →C
239
е) =
Γ
{ A → B} : A → B,
C → ( A → B ),
ïî òåîðåìå
äåäóêöèè
A → B,C - A → B
- C →( A → B )
( C → ( A → B ) ) → ( ( C → A ) → ( C → B ) ),
I2:( x →( y →z ) )→( ( x →y )→( x →z ) )
C, A,B
∫ ( I2 ) ≡ -( C →( A → B ) )→( ( C → A )→( C → B ) )
x,y,z
(C → A ) → (C → B)
;
ïî ÏÏÇ
- C →( A → B ), -( C →( A → B ) )→( ( C → A )→( C → B ) )
-( C → A )→( C → B )
ж) Γ={A→B}├A∨C→B∨C. Рассмотрим вначале дополнительное
множество Γ1={A→B, A} и запишем вывод из него
Γ1 : A → B, A,
B
ïî ÏÏÇ
- A, - A → B
,
-B
B→ B∨C
,
III1:x →x ∨ y
B,C
∫ ( III1 ) ≡ - B →( B ∨ C )
x,y
B∨C
ïî ÏÏÇ
- B, - B → B ∨ C
.
- B∨ C
Применим теперь обобщенную теорему дедукции:
A → B, A - B ∨ C
-( A → B) → ( A → B ∨ C)
.
Таким образом, формула (A→B)→(A→B∨C) выводима, и ее можно
добавить в любой вывод. Тогда
Γ : A → B,( A → B ) → ( A → B ∨ C ),
A → B∨C
ïî ÏÏÇ
- A → B, -( A → B )→( A → B ∨ C )
- A → B∨ C
,
C→ B∨C
III2:y →x ∨ y
,
C,B
∫ ( III2 ) ≡ - C → B ∨ C
y,x
( A → B ∨ C ) → ((C → B ∨ C ) → ( A ∨ C → B ∨ C )) ,
III3 :( x →z )→( ( y →z )→( x ∨ y →z ) )
A,C,B ∨ C
( III3 )≡ -( A →B∨ C )→(( C→B∨ C )→( A ∨ C→B∨ C ))
∫
x,y,z
240
A∨C→B→C
ïî ïðàâèëó ñëîæíîãî çàêëþ÷åíèÿ
- A → B ∨ C, - C → B ∨ C, -( A → B ∨ C )→( ( C → B ∨ C )→( A ∨ C → B ∨ C ) )
;
- A ∨ C→ B∨ C
з) Γ
=
{ A, A → B} : A, A → B,
A→B
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- A →B
,
B
ïî ÏÏÇ
- A, - A → B
;
-B
- A →B
{
}
( A → B) → ( B → A ) ,
IV1:( x →y )→( y →x )
A,B
∫ ( IV1 ) ≡ -( A → B )→( B → A )
и) Γ = A → B, B : A → B, B,
x,y
B→ A
ïî ÏÏÇ
- A → B, -( A → B )→ B → A
(
,
)
{ A} : A,
A → (B → A)
I1:x →( y →x )
;
-A
- B→ A
к) Γ
=
A
ïî ÏÏÇ
B, - B → A
,
A, B
∫ ( I1 ) ≡ - A →( B → A )
x,y
B→ A
ïî Ï Ï Ç
- A, - A →( B → A )
.
- B→ A
2.4.8.
а) для доказательства этого правила используем правило введения импликации и конъюнкции и правило объединения посылок,
записанное в более общем виде, чем рассмотренное ранее:
Γ, A, B -C
Γ, A ∧ B -C
– объединение посылок,
A1, A2 ,..., An - B
– введение импликации и конъюнкции.
- A1 ∧ A2 ∧ ... ∧ An → B
Применим эти правила n раз к формулам A1, A2,…, An, B:
A1, A2 - B
A1 ∧ A2 - B
,
A1 ∧ A2 - B
- A1 ∧ A2 → B
A1 ∧ A2 , A3 - B
- A1 ∧ A2 ∧ A3 → B
,...,
,
A1 ∧ A2 , A3 - B
A1 ∧ A2 ∧ A3 - B
,
A1 ∧ A2 ∧ ... ∧ An -1, An - B
- A1 ∧ A2 ∧ ... ∧ An -1 ∧ An → B
;
241
{
}
б) A → B, A → B : A → B, A → B,
( A → B) → ( B → A ) ,
IV1:( x →y )→( y →x )
A, B
∫ ( IV1 ) ≡ -( A → B )→( B → A )
x,y
B→ A
ïî ÏÏÇ
- A → B, -( A → B )→ B → A
(
B→B
,
ñèëëîãèçì
- B → A, - A → B
)
,
- B→ B
- B→ A
( B → B ) → (( B → B ) → ( B ∨ B → B )) ,
III3:( x →z )→( ( y →z )→( x ∨ y →z ) )
B,B,B
∫ ( III3 ) ≡ - B → B → B → B → B ∨ B → B
x,y,z
) ((
) (
B→B
,
(
B→B
IV2:x →x
,
B
∫ ( IV2 ) ≡ - B → B
x
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- B→ B
))
B∨ B
,
ñì. ïðèìåð 4
§ 2.3
- B→ B
;
B
ïî ÏÑÇ
) (
(
(
- B → B, - B → B, - B ∨ B, - B → B → ( B → B )→ B ∨ B → B
))
-B
{
}
в) A, B : A, B,
A→A
A → ( ( A → B ) → B ),
ïåðåñòàíîâêà ïîñûëîê
-( A → B )→( A → B )
- A →( ( A → B )→ B )
г) { A ∧ B} : A ∧ B,
( A → B) → B
, B → ( A → B ),
-( A → B )→ B
A∧B→ A
II1:x ∧ y →x
,
A →B
∫ ( A → A ) ≡ -( A → B )→( A → B )
A
ïî ÏÏÇ
- A, - A →( ( A → B )→ B )
,
A, B
∫ ( II1 ) ≡ - A ∧ B → A
x,y
242
( A → B) → ( A → B)
,
ïî òåîðåìå äåäóêöèè
A -A
- A→ A
A→B
ïî ÏÏÇ
- B, - B→( A → B )
êîíòðïîçèöèÿ
-( A → B )→ B
- B→( A → B )
A
ïî ÏÏÇ
- A ∧ B, - A ∧ B→ A
-A
- A →B
;
;
{
}
д) A → A : A → A,
A→A
, A → A,
IV2:x →x
- A→ A
A
∫ ( IV2 ) ≡ - A → A - A → A
x
A∨ A
,
ñì. ïðèìåð 4
§ 2.3
( A → A ) → (( A → A ) → ( A ∨ A → A )) ,
III3:( x →z )→( ( y →z )→( x ∨ y →z ) )
A, A, A
( III3 )≡ - A → A → A → A → A ∨ A → A
∫
x,y,z
) ((
(
) (
))
.
A
ïî ÏÑÇ
) ((
(
) (
- A → A, - A → A, - A ∨ A, - A → A → A → A → A ∨ A → A
))
-A
2.4.9.
а) рассмотрим множество формул Γ={A→B, B→C, A}. Вывод из
этого множества может быть таким:
Γ: A→B, B→C, A,
B
,
C
ïî ÏÏÇ
ïî ÏÏÇ
- A, - A → B - B, - B →C
-B
.
-C
Применим теперь обобщенную теорему дедукции
{ A → B, B → C, A} -C
;
- ( A → B ) → (( B → C ) → ( A → C ))
б) Γ={A→B}├(C→A)→(C→B), см. задачу 2.4.7, е. Тогда
{ A → B} - ( C → A ) → ( C → B )
;
- ( A → B) → ((C → A ) → (C → B))
в)
=
Γ
A→B ,
{ A, B → A} : A, B → A,êîíòðïîçèöèÿ
Отсюда
{ A, B → A} -B
-A → (B → A) → B
B
- B→ A
ïî ÏÏÇ
- A, - A → B
- A →B
-B
.
.
243
2.4.10. Пусть в исчислении Лукасевича доказуема хотя бы одна
однобуквенная формула ├R. Тогда
A
A →B
R
R
∫ R ≡ - A,
∫
R ≡ - A → B,
B→ A
∫
R ≡ - B → A,
R
A
∫ ( A → B ) → ( ( B → C ) → ( A → C ) ) ≡ - ( A → B ) → ( ( B → A ) → ( A → A ) ),
C
- A → B, - ( A → B ) → ( ( B → A ) → ( A → A ) )
-( B → A ) → ( A → A )
,
- B → A, - ( B → A ) → ( A → A )
.
-A → A
Итак, необходимый вывод имеет вид {R}: A, A→B, B→A,
(A→B)→((B→A)→(A→A)), (B→A)→(A→A), A→A.
À, À → B,C
∫
1) ( À → Â) → ((Â → Ñ) → ( À → Ñ)) - ( À → ( À → Â)) →
À,Â,Ñ
→ ((( À → Â) → Ñ) → ( À → C));
2) - ( À → ( À → Â)) → ((( À → Â) → Ñ) → ( À → Ñ)), - ( À → ( À → Â))
- ((( À → Â) → Ñ) → ( À → Ñ))
À, À, À
3) ∫
;
((( À → Â) → Ñ) → ( À → Ñ)) - ((( À → À) → À) → ( À → À));
À,Â,Ñ
4) - ((( À → À) → À) → ( À → À)), - (( À → À) → À)
.
-( À → À)
Ответы и решения практического занятия №6
2.9.1. а) ├A∧B↔B∧A, но A∧B↔B∧A≡(A∧B→B∧A)∧(B∧A→A∧B). Пусть
C – любая формула, выводимая в исчислении высказываний, тогда
{C} : C,
A∧B→B
II2:x ∧ y →y
,
A,B
∫ ( II2 ) ≡ - A ∧ B → B
x,y
244
C → (C → C)
I1:x →( y →x )
,
C,C
∫ ( I1 ) ≡ - C →( C →C )
x,y
C→C
ÏÏÇ
- C, - C →( C →C )
- C →C
,
B→B
,
B
∫ ( C →C ) ≡ - B → B
C
( B → B ) → (( B → A ) → ( B → B ∧ A )) ,
(B → A) → (B → B ∧ A)
II3:( z→x )→( ( z→y )→( z→x ∧ y ) )
B, A,B
∫ ( II3 )≡ -( B→ B )→( ( B→ A )→( B→ B ∧ A ) )
z,x,y
C → ( A → C)
I1:x →( y →x )
-( B→ A )→( B→ B ∧ A )
A→C
,
ÏÏÇ
- C, - C →( A →C )
C, A
∫ ( I1 ) ≡ - C →( A →C )
x,y
,
- A →C
B→B∧ A
ÏÏÇ
- B → A, -( B → A )→( B → B ∧ A )
,
,
ÏÏÇ
- B→ B, -( B→ B )→( ( B→ A )→( B→ B ∧ A ) )
B→ A
,
B, A
∫ ( A →C ) ≡ - B → A
A,C
A ∧ B → B ∧ A , B ∧ A → A ∧ B,
ñèëëîãèçì
- A ∧ B → B, - B → B ∧ A
àíàëîãè÷íî
ïðåäûäóùåìó
- A ∧ B→ B ∧ A
- B→ B ∧ A
( A ∧ B → B ∧ A ) ∧ ( B ∧ A → A ∧ B ) ≡ A ∧ B ↔ B ∧ A;
ââåäåíèå êîíúþíêöèè
- A ∧ B → B ∧ A, - B ∧ A → A ∧ B
-( A ∧ B → B ∧ A ) ∧ ( B ∧ A → A ∧ B )
б) пусть C – любая выводимая формула. Тогда
{C} : C,
A→ A∨B
III1:x →x ∨ y
,
A, B
∫ ( III1 ) ≡ - A → A ∨ B
x,y
C → (C → C)
I1:x →( y →x )
,
C,C
∫ ( I1 ) ≡ - C →( C →C )
x,y
( B → A ) → (( A → A ) → ( B ∨ A → A ))
,
III3:( x →z )→( ( y →z )→( x ∨ y →z ) )
A,B, A
∫ ( III3 ) ≡ -( B → A )→( ( A → A )→( B ∨ A → A ) )
x,y,z
C→C
ÏÏÇ
- Ñ, - C →( C →C )
- C →C
C → (B → C)
I1:x →( y →x )
,
C,B
∫ ( I1 ) ≡ - C →( B →C )
x,y
,
A→A
,
A
∫ ( C →C ) ≡ - A → A
C
B→C
ÏÏÇ
- C, - C →( B →C )
,
- B →C
245
B→ A
( A → A) → (B ∨ A → A)
,
A
∫ ( B →C ) ≡ - B → A
C
,
ÏÏÇ
- B→ A, -( B→ A )→( ( A → A )→( B∨ A → A ) )
-( A → A )→( B∨ A → A )
B∨ A → A
ÏÏÇ
- A → A, -( A → A )→( B ∨ A → A )
,
- B∨ A → A
B ∨ A → A ∨ B , A ∨ B → B ∨ A,
ñèëëîãèçì
- B ∨ A → A, - A → A ∨ B
àíàëîãè÷íî
ïðåäûäóùåìó
- B∨ A → A ∨ B
( B ∨ A → A ∨ B ) ∧ ( A ∨ B → B ∨ A ) ≡ B ∨ A ↔ A ∨ B.
ââåäåíèå êîíúþíêöèè
- B ∨ A → A ∨ B, - A ∨ B → B ∨ A
-( B ∨ A → A ∨ B ) ∧ ( A ∨ B → B ∨ A )
2.9.2. а)
A→A
VI2:x →x
A→A
,
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- A→ A
A
∫ ( VI2 ) ≡ - A → A
x
,
- A→ A
( A → A ) ∧ ( A → A ) ≡ A ↔ A;
ââåäåíèå êîíúþíêöèè
- A → A, - A → A
-( A → A ) ∧ ( A → A )
б) { A ↔ B} : ( A → B ) ∧ ( B → A ),
A→B
,
óäàëåíèå êîíúþíêöèè
-( A → B ) ∧ ( B → A )
- A →B
B→ A
,
àíàëîãè÷íî
ïðåäûäóùåìó
(C → A ) → (C → B)
(C → B) → (C → A )
,
C → B,C → A
( B→ A )≡ -( C→ B )→( C → A )
∫
A, B
246
,
C → A,C → B
( A → B )≡ -( C→ A )→( C→ B )
∫
A,B
( ( C → A ) → ( C → B ) ) ∧ ( ( C → B ) → ( C → A ) ) ≡ ( C → A ) ↔ ( C → B ).
ââåäåíèå êîíúþíêöèè
-( C → A )→( C → B ), -( C → B )→( C → A )
-( ( C → A )→( C → B ) ) ∧( ( C → B )→( C → A ) )
2.9.3.
(
) (
)
а) - A ∨ B ↔ A ∧ B ≡ A ∨ B → A ∧ B ∧ A ∧ B → A ∨ B .
) ((
(
))
) (
∅: A → A ∧ B → B → A ∧ B → A ∨ B → A ∧ B ,
III3:( x →z )→( ( y →z )→( x ∨ y →z ) )
A,B, A ∧ B
( III3 ) ≡ - A → A ∧ B → B → A ∧ B → A ∨ B → A ∧ B
∫
x,y,z
) ((
(
A∧B→B
II2:x ∧ y →y
,
A, B
∫ ( II2 ) ≡ - A ∧ B → B
x,y
B→ A∧B
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- B→ A ∧ B
) (
A→ A∧B ,
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- A→ A∧B
- A→ A∧B
,
II1:x ∧ y →x
A,B
∫ ( II1 ) ≡ - A ∧ B → A
x,y
))
A→ A∧B
êîíòðïîçèöèÿ
- A ∧ B→ A
A∧B→ A
,
B→ A∧B ,
êîíòðïîçèöèÿ
- A ∧ B→ B
- B→ A ∧ B
- A→ A∧B
,
A∨B→ A∧B
,
ïðàâèëî ñëîæíîãî çàêëþ÷åíèÿ
) ((
(
) (
- A → A ∧ B, - B → A ∧ B, - A → A ∧ B → B → A ∧ B → A ∨ B → A ∧ B
- B→ A ∧ B
))
- A ∨ B→ A ∧ B
A ∧ B → A ∨ B,
êîíòðïîçèöèÿ
- A ∨ B→ A ∨ B
- A ∧ B→ A ∨ B
A∨B→ A∨B,
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- A ∧ B→ A ∨ B
A→ A∨B
III1:x →x ∨ y
,
A, B
∫ ( III1 ) ≡ - A → A ∨ B
x,y
- A ∨ B→ A ∨ B
B→ A∨B
III2:y →x ∨ y
,
A, B
∫ ( III2 ) ≡ - B → A ∨ B
x,y
A∨B→ A ,
A∨B→B ,
êîíòðïîçèöèÿ
- A→ A∨ B
êîíòðïîçèöèÿ
- B→ A ∨ B
- A ∨ B→ A
- A ∨ B→ B
247
( A ∨ B → A ) → (( A ∨ B → B ) → ( A ∨ B → A ∧ B )),
II3:( z→x )→( ( z→y )→( z→x ∧ y ) )
A,B, A ∨ B
( II3 )≡ - A ∨ B→ A → A ∨ B→B → A ∨ B→ A ∧ B
∫
x,y,z
) ((
(
) (
))
A∨B→ A∧B
ïðàâèëî ñëîæíîãî çàêëþ÷åíèÿ
) ((
(
,
) (
- A ∨ B → A, - A ∨ B → B, - A ∨ B → A → A ∨ B → B → A ∨ B→ A ∧ B
))
- A ∨ B→ A ∧ B
( A ∨ B → A ∧ B ) ∧ ( A ∧ B → A ∨ B );
ââåäåíèå êîíúþíêöèè
- A ∨ B→ A ∧ B , - A ∧ B→ A ∨ B
(
) (
)
-( A ∨ B → A ∧ B ) ∧ ( A ∧ B → A ∨ B )

 

б) - A ↔ A ≡  A → A  ∧  A → A . ∅ :

 

A→A
IV3:x →x
,
A
∫ ( IV3 ) ≡ - A → A
x
A→A
A→A
,
IV2:x →x
A
∫ ( IV2 ) ≡ - A → A
x
A→A
,
êîíòðïîçèöèÿ
- A→ A
- A→ A

 

,  A → A  ∧  A → A .

 

êîíòðïîçèöèÿ
- A→ A
- A→ A
ââåäåíèå êîíúþíêöèè
- A → A, - A → A
(
)(
- A→ A ∧ A→ A
)
2.9.4.
а) рассмотрим исходную формулу
A =x → ( x → ( x → y ∧ x ) ).
Обозначим через B выражение B=x→y∧x, тогда формула
A =x → ( x → B )
возрастает по переменной B (см. теорему 2.2). Заменим B более сильной формулой y, так как ├y→(x→y∧x). Действительно,
248
∅:
x→x
àêñèîìà VI2
x→x
,
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- x →x
,
- x →x
y∧x→y∧x
y → (x → y ∧ x)
,
y∧x
∫ ( x →x )≡ - y ∧ x →y ∧ x
x
.
ïåðåñòàíîâêà ïîñûëîê
- y ∧ x→y ∧ x
- y →( x →y ∧ x )
После замены получим формулу, возрастающую по y, причем
x → ( x → y ) ≡ 1,
т. е. тождественно истинную, следовательно, выводимую по теореме
2.6. Итак,
-x → ( x → y ), тогда - x → ( x → ( x → y ∧ x ) );
б) в исходной формуле
A = x∧y→y→y
заменим посылку импликации. Поскольку импликация A→B убывает по A, заменим посылку более слабой формулой x∧y, так как
-x ∧ y → y → x ∧ y.
(
y
∫ ( I1 ) ≡ - x → y →x
y
(
(
x→ x→y
(
(y → x) → (x → y)
)
∅: x → y → x ,
I1:x →( y →x )
ñèëëîãèçì
) (
)
(
x∧x→y
(
)
,
) (
)
)
,
ñíÿòèå äâîéíîãî îòðèöàíèÿ
- x ∧ x →y
- x ∧ x →y
( )
) ( )
VI1:( x →y )→ y →x
y,x
∫ ( VI1 ) ≡ - y →x → x →y
x,y
- x → y→x , - y→x → x→y
- x → x →y
,
x∧x→y
,
ñîåäèíåíèå ïîñûëîê
- x → x →y
(
)
- x ∧ x →y
(
x→ x→y
)
,
ðàçúåäèíåíèå ïîñûëîê
- x ∧ x →y
(
- x → x →y
)
249
x → (x → y)
,
ïåðåñòàíîâêà ïîñûëîê
- x → x →y
(
(x → y) → x,
êîíòðïîçèöèÿ
- x →( x →y )
)
-( x → y )→ x
- x →( x →y )
(x → y) → x
, x ∧ y → y → x ∧ y.
ñíÿòèå äâîéíîãî îòðèöàíèÿ
-( x → y )→ x
-( x → y )→ x
x∧y
∫ ( x → y )→ x ≡
x
≡ - x ∧ y→y→x ∧ y
(
)
Получим формулу x∧y→y – четвертую аксиому исчисления высказываний, следовательно, она выводима. Тогда выводима и исходная формула, т. е. -x ∧ y → y → y.
2.9.5.
( x ∧ ( x ∧ x → y ∧ y) → z) ∨ x ∨ z.
A=
Заменим в формуле A подформулу
(
)
B= x∧ x∧x→y∧y →z
более сильной формулой z и докажем, что
(
(
)
)
-z → x ∧ x ∧ x → y ∧ y → z .
(
∅: x → y → x
I1:x →( y →x )
)
x
∫ ( I1 ) ≡ - x → y →x
x
(
,
)
(
(
)
z→ x∧ x∧x→y∧y →z
)
.
z,x ∧ ( x ∧ x →y ∧ y )
x → y → x ≡ - z→ x ∧ x ∧ x → y ∧ y →z
∫
x,y
( (
))
(
(
)
)
Получим формулу
A / = z ∨ x ∨ z ≡ 1, т. е. - A / .
Следовательно, выводима и формула A. Действительно, после упрощения A получим A=1∨x∨z≡1.
2.9.6.
а) A = x ∧ y ∨ ( x → y ) ∧ x, A(1, 1)=1, т. е. {x, y}├A. Покажем это:
250
{x, y} : x, y,
y → (x → y)
I1:x →( y →x )
x→y
,
ÏÏÇ
- y, - y →( x →y )
y,x
∫ ( I1 ) ≡ - y →( x →y )
x,y
(x → y) ∧ x
(
,
(
,
(
x→x∧y ,
ñîåäèíåíèå ïîñûëîê êîíòðïîçèöèÿ
- x ∧ y→x
- x → y→x
)
- x →x ∧ y
- x ∧ y→x
)
x,y
∫ ( I1 ) ≡ - x → y →x
x,y
-( x → y ) ∧ x
x∧y→x
- x→y
x→ y→x
I1:x →( y →x )
,
ïðàâèëî ââåäåíèÿ
êîíúþíêöèè
- x →y, - x
,
x→x∧y
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- x →x ∧ y
)
,
,
- x, - x →x ∧ y
-x∧y
- x →x ∧ y
A = x ∧ y ∨ (x → y) ∧ x
x∧y
ÏÏÇ
;
ïðàâèëî ââåäåíèÿ äèçúþíêöèè
- x ∧ y, -( x →y ) ∧ x
- x ∧ y∨ ( x→y )∧ x
{ }
б) A(0, 0)=0, таким образом x, y - A .
Вывод A может быть, например, таким:
{x,y} : x,y,
(
x→ y→x
I1:x →( y →x )
)
x,y
∫ ( I1 ) ≡ - x → y →x
x,y
(
x→y
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
- x →y
,
,
)
A→x
y→x
ÏÏÇ
- x, - x → y →x
(
,
)
x→y
- x →y
- y→x
,
A,x
∫ ( x →y )≡ - A →x
x,y
x→ A
,
êîíòðïîçèöèÿ
- y→x
,
A
êîíòðïîçèöèÿ
- A →x
ÏÏÇ
- x, - x → A
-x→ A
-A
- x →y
.
2.9.7.
а) A=x1∨x2→x3. A(0, 0, 1)=0∨0→1=0→1=1, следовательно,
{x1,x2,x3} - A .
251
Именно,
{x1,x2,x3} : x1,x2,x3,
x3 → ( x1 ∨ x2 → x3 )
I1:x →( y →x )
x1 ∨ x2 → x3
,
ÏÏÇ
- x3 , - x3 →( x1 ∨ x2 →x3 )
x3 ,x1 ∨ x2
( I1 )≡ -x3 →( x1 ∨ x2 →x3 )
∫
x,y
{
;
- x1 ∨ x2 →x3
}
б) A(1, 0, 0)=1∨0→0=1→0=0. Тогда x1, x2 , x3 - A .
Действительно,
{x1,x2,x3} : x1, x2, x3,
x1 → x1 ∨ x2
x1 ∨ x2
,
III1:x →x ∨ y
ÏÏÇ
- x1, - x1 →x1 ∨ x2
x1,x2
∫ ( III1 ) ≡ - x1 →x1 ∨ x2
x,y
x1 → ( x1 → x1 )
I1:x →( y →x )
ÏÏÇ
- x1, - x1 →( x1 →x1 )
x1,x1
∫ ( I1 ) ≡ - x1 →( x1 →x1 )
x,y
(
)
- x1 ∨ x2
x1 → x1
,
,
,
- x1 →x1
(
)
x1 ∨ x2 → x3 → x1 ∨ x2 → x3
,
( x1 ∨ x2 →x3 )
( x1 →x1 )≡ -( x1 ∨ x2 →x3 )→( x1 ∨ x2 →x3 )
∫
x1
x1 ∨ x2 → ( ( x1 ∨ x2 → x3 ) → x3 ),
( x1 ∨ x2 → x3 ) → x3
ÏÏÇ
ïåðåñòàíîâêà ïîñûëîê
-( x1 ∨ x2 →x3 )→( x1 ∨ x2 →x3 )
(
- x1 ∨ x2 → ( x1 ∨ x2 →x3 )→x3
(
- x1 ∨ x2 , - x1 ∨ x2 → ( x1 ∨ x2 →x3 )→x3
)
( x1 ∨ x2 → x3 )
êîíòðïîçèöèÿ
-( x1 ∨ x2 →x3 )→x3
.
ÏÏÇ
- x3 , - x3 →( x1 ∨ x2 →x3 )
- x3 →( x1 ∨ x2 →x3 )
-( x1 ∨ x2 →x3 )
2.9.8.
Γ1
а) A=(x→y)∧(y→z)→(z→x), A(0, 0, 1)=0 и=
мер, таким способом:
(
)
y→ x→y
I1:x →( y →x )
y,x
∫ ( I1 ) ≡ - y → x →y
x,y
(
252
)
-( x1 ∨ x2 →x3 )→x3
x3 → ( x1 ∨ x2 → x3 ),
{x,y,z} : x, y, z,
,
,
)
{x,y,z} - A ,
x→y
ÏÏÇ
- y, - y → x →y
(
- x→y
,
)
напри-
A→z
)
A
ÏÏÇ
- z, - z→ A
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
êîíòðïîçèöèÿ
- A →z
- z→ A
A,z
∫ x → y ≡ - A →z
x,y
(
z→ A ,
z→ A ,
,
- z→ A
;
-A
- z→ A
б) A(1, 1, 1)=1 и Γ2={x, y, z}├A.
{x, y,z} : x, y, z,
y → (x → y) ,
I1:x →( y →x )
y,x
∫ ( I1 ) ≡ - y →( x →y )
x,y
x→y
ÏÏÇ
- y, - y →( x →y )
y→z ,
àíàëîãè÷íî
- x→y
( x → y ) ∧ ( y → z)
z→x ,
àíàëîãè÷íî
,
,
ââåäåíèå êîíúþíêöèè
- x →y, - y →z
-( x → y ) ∧ ( y →z )
( x → y ) ∧ ( y → z) → ( z → x )
( x →y ) ∧ ( y→z ),z→x
∫
x,y
.
( x→y )≡ -( x→y )∧( y→z )→( z→x )
2.9.9.
а) A(1, 1, 1)=0, следовательно, {x1, x2 , x3 } - A .
{x1, x2 , x3 } : x1, x2 , x3 ,
x1 → ( x1 → x1 )
I1:x →( y →x )
,
x1,x1
∫ ( I1 ) ≡ - x1 →( x1 →x1 )
x,y
x1 → x1
,
A→A
,
A
ÏÏÇ
x
x
A
A
→
≡
→
∫ ( 1
1)
- x1, - x1 → x1 →x1 x1
(
)
- x1 →x1
( x1 ∨ x2 ) → (( x1 ∨ x2 → x3 ) → x3 ),
ïåðåñòàíîâêà ïîñûëîê
- x1 ∨ x2 →x3 → x1 ∨ x2 →x3
(
(
) ((
) (
)
)
- x1 ∨ x2 → x1 ∨ x2 →x3 →x3
)
x2 → x1 ∨ x2
III2:y →x ∨ y
,
x2 ,x1
∫ ( III2 ) ≡ - x2 →x1 ∨ x2
y,x
253
x1 ∨ x2
,
ÏÏÇ
- x2 , - x2 →x1 ∨ x2
- x1 ∨ x2
(
( x1 ∨ x2 → x3 ) → x3
, x3 → x1 ∨ x2 → x3
ÏÏÇ
) ((
(
)
- x1 ∨ x2 , - x1 ∨ x2 → x1 ∨ x2 →x3 →x3
(
)
(
)
(
)
(
( x1 ∨ x2 → x3 )
ñíÿòèå äâîéíîãî
îòðèöàíèÿ
ÏÏÇ
(
(
- x1 ∨ x2 →x3
)
;
- x3 , - x3 → x1 ∨ x2 →x3
(
)
- x3 →( x1 ∨ x2 →x3 )
- x3 → x1 ∨ x2 →x3
{
)
- x3 → x1 ∨ x2 →x3
- x1 ∨ x2 →x3 →x3
x3 → x1 ∨ x2 → x3 ,
)
êîíòðïîçèöèÿ
- x1 ∨ x2 →x3 →x3
)
)
}
б) A(1, 0, 1)=1, x1, x2 , x3 - A . Вывод A может быть, например, таким:
{x1,x2,x3} : x1,x2,x3,
x3 → ( x1 → x3 )
I1:x →( y →x )
,
x3 ,x1
∫ ( I1 ) ≡ - x3 →( x1 →x3 )
x,y
x1 → x3
ÏÏÇ
- x3 , - x3 →( x1 →x3 )
- x1 →x3
x1
,
x1 ∧ x2 ,
ÏÏ3
ââåäåíèå
- x1, - x1 →x1 êîíúþíêöèè
- x1, - x2
- x1
- x1 ∧ x2
- x1 ∧ x2 , - x1 ∧ x2 →x1 ∨ x2
254
x1 → x1
VI2:x →x
,
x1
∫ ( VI2 ) ≡ - x1 →x1
x
x1 ∧ x2 → x1 ∨ x2
,
x1 ∧ x2 ,x1 ∨ x2
( x1 →x3 )≡ - x1 ∧ x2 →x1 ∨ x2
∫
x1,x3
x1 ∨ x2
ÏÏÇ
- x1 ∨ x2
,
,
(
x1 → x2 → x1
I1:x →( y →x )
)
x1,x2
∫ ( I1 ) ≡ - x1 → x2 →x1
x,y
(
,
)
( x2 → x1 ) → ( x1 → x2 )
(
,
)
VI2:( x →y )→ y →x
x2 ,x1
∫ ( VI2 ) ≡ - x2 →x1 → x1 →x2
x,y
) (
(
(
x1 → x1 → x2
)
,
ñèëëîãèçì
- x1 → x2 →x1 , - x2 →x1 → x1 →x2
(
) (
) (
(
- x1 → x1 →x2
)
(
)
,
(
)
(
x1 ∨ x2 → x1 ∨ x2 → x3 ,
x1 ∨ x2 ,x3
x1 ∧ x1 →x2 ≡
∫
x1,x2
≡ - x1 ∨ x2 → x1 ∨ x2 → x3
)
ðàçúåäèíåíèå ïîñûëîê
- x1 ∧ x1 →x2
- x1 → x1 →x2
(
)
- x1 ∧ x1 →x2
x1 → x1 → x2
- x1 ∧ x1 →x2
)
x1 ∨ x2 → x1 ∨ x2 → x3 ,
ïåðåñòàíîâêà ïîñûëîê
)
(
x1 ∧ x1 → x2 ,
ñîåäèíåíèå ïîñûëîê
- x1 → x1 →x2
(
x1 ∧ x1 → x2
,
ñíÿòèå äâîéíîãî îòðèöàíèÿ
- x1 ∧ x1 →x2
(
)
)
(
- x1 ∨ x2 → x1 ∨ x2 →x3
)
(
- x1 ∨ x2 → x1 ∨ x2 → x3
x1 ∨ x2 → x3
ÏÏÇ
- x1 ∨ x2 , - x1 ∨ x2 → x1 ∨ x2 →x3
(
)
)
;
)
- x1 ∨ x2 →x3
{
}
в) A(0, 1, 0)=1 x1, x2 , x3 - A , например,
{x1,x2,x3} : x1,x2,x3,
(
x3 → x1 ∨ x2 → x3
I1:x →( y →x )
)
x3 ,x1 ∨ x2
( I1 )≡ - x3 → x1 ∨ x2 →x3
∫
x,y
(
x1 ∨ x2 → x3
ÏÏÇ
- x3 , - x3 → x1 ∨ x2 →x3
(
,
)
.
)
- x1 ∨ x2 →x3
255
2.9.10.
{ }
A=x→(x→y), A(1, 0)=0, x, y - A .
а) {x,y} : x,y, x → ( y → x ),
y→x
ÏÏÇ
- x, - x →( y →x )
ïåðâàÿ
àêñèîìà
,
- y→x
( x → ( x → y )) → y
y → ( x → ( x → y ) ),
( x → ( x → y))
êîíòðïîçèöèÿ
-( x →( x →y ) )→y
ÏÏÇ
- y, - y →( x →( x →y ) )
- y →( x →( x →y ) )
{ }
{x,y} : x,y,
,
x →( x →y ),y
( y→x )≡ -( x→( x→y ) )→y
∫
y,x
;
-( x →( x →y ) )
б) A(0, 1)=1 x, y - A .
(
x → (y → x) ,
y→ x→y
I1:x →( y →x )
ïåðâàÿ àêñèîìà
)
y,x
∫ ( I1 ) ≡ - y → x →y
x,y
(
x→y
ÏÏÇ
- y, - y → x →y
(
,
)
x → (x → y)
,
)
,
x,x →y
x →y ≡ - x →( x →y )
∫
x,y
(
)
- x →y
x → (x → y)
.
ñíÿòèå äâîéíîãî îòðèöàíèÿ
- x →( x →y )
- x →( x →y )
2.9.11. а) f(A, B)=(A→B)→(B→A), A=1, f(1, B)=(1→B)→(B→1)≡(1→B)→1≡1;
A=0, f(0, B)=(0→B)→(B→0)≡1→(B→0), B=1, f(0, 1)=1→(1→0)≡1→0≡0.
Формула f не тождественно истинна. На рис. 2.1, а показано семантическое дерево этой формулы, а на рис. 2.1, б – поддерево, используемое для проверки истинности;
б) f ( A, B ) = ( A ∨ B ) → A ∧ B ∨ B ∧ A ,
((
) (
))
A=1, f (1, B ) = (1 ∨ B ) → ( ( 0 ∧ B ) ∨ ( B ∧ 1) ) ≡ 1 → ( 0 ∨ B ) ≡ 1 → B;
B=1, f(1, 1)=1→0≡0. Формула f выполнима;
256
A
а)
В
А
б)
A
B
В
А
B
A
B
B
B
CC
C C
C
В
A
B
C C
C
Рис. 2.2
Рис. 2.1
(
)
в) f ( A, B, C ) = ( A ∨ B ) → C ↔ B ,
(
)
(
)
A=1, f (1, B, C ) =(1 ∨ B ) → C ↔ B ≡ 1 → C ↔ B ;
(
)
(
)
B=1, f (1,1, C ) =1 → C ↔ 1 , B=0, f (1,0, C ) =1 → C ↔ 0 ;
C=1, f (1,1,1) =1 → ( 0 ↔ 1) ≡ 1, C=0, f (1,1,0 ) =1 → (1 ↔ 1) ≡ 0,
формула выполнима. На рис. 2.2 жирными линиями выделен подграф, используемый по алгоритму Квайна;
(
)
г) f ( A, B, C ) = A ∨ B → C ↔ A ,
A=1, f (1, B, C ) =
1 ∨ B → ( C ↔ 0 ) ≡ 1 → ( C ↔ 0 ),
C=1, f (1, B,1) = 1 → (1 ↔ 0 ) ≡ 1 → 1 ≡ 1,
C=0, f (1, B,0 ) = 1 → ( 0 ↔ 0 ) ≡ 1 → 0 ≡ 0.
Граф и его подграф, используемый по алгоритму Квайна, изображены на рис. 2.3. Формула не тождественно истинна.
A
B
C
A
B
B
C
C
C C
B
C
C
C
Рис. 2.3
257
2.9.12.
а) f(A, B, C)=(A∧B→C)→(A→(B→C)). Пусть формула f ложна,
тогда A∧B→C=1, A→(B→C)=0; A=1, B→C=0; B=1, C=0. Но тогда
A∧B→C≡1∧1→0≡1→0≡0, а не 1. Следовательно, предположение о
том, что f=0 неверно, формула f – тождественно истинная формула;
б) f = A1 → A2 → ... → An -1 → An → B ∨ B ... . Пусть f=0, тог0, аналогично A2=1,
да A1=1, а A2 → ... → An -1 → An → B ∨ B =
A3 → ... → An -1 → An → B ∨ B =
0 и так далее. Предпоследняя
0.
импликация дает An-1=1, An → B ∨ B =
0, последняя An=1, B ∨ B =
1 всегда, следовательно, предположение f=0 неверно, т. е.
Но B ∨ B =
формула f – тождественно истинная формула;
в) f ( A, B ) = ( A → B ) ∧ A → B → A. Пусть f=0, тогда
(
(
(
(
(
(
1,=
A
( A → B) ∧ ( A → B) =
(
))
(
))
))
)
)
B 1, =
B 1,  B = 1,
 A →=
0=
, A 1; 


B 1, =
B 1,  B = 0.
 A →=
Получено противоречие, т. е. f – тождественно истинная формула.
2.9.13.
Покажем результат решения на примере трех аксиом:
I2 , III1 è IV3 (см. формулы (2.1.1)). Остальные аксиомы проверяются аналогично.
1. Алгоритм Квайна.
I2: f(x, y, z)=(x→(y→z))→((x→y)→(x→z)).
x=1, f(1, y, z)=(1→(y→z))→((1→y)→(1→z)),
y=1, f(1, 1, z)=(1→(1→z))→(1→(1→z)),
y=0, f(1, 0, z)=(1→(0→z))→((1→0)→(1→z))≡ 1→(0→(1→z))≡1,
z=1, f(1, 1, 1)=(1→(1→1))→(1→(1→1))≡1,
z=0, f(1, 1, 0)=(1→(1→0))→(1→(1→0))≡1,
x=0, f(0, y, z)=(0→(y→z))→((0→y)→(0→z))≡1→1≡1.
Формула I2 тождественно истинна.
III1: f(x, y)=x→x∨y. x=1, f(1, y)=1→1∨y≡1, x=0, f(0, y)=0→0∨y≡1.
IV3: f ( x )= x → x. x=1, f (1) = 1 → 1 ≡ 1, x=0, f ( 0 ) = 0 → 0 ≡ 1.
2. Алгоритм редукции.
I2: f(x, y, z)=(x→(y→z))→((x→y)→(x→z)). Пусть f=0, тогда
x→(y→z)≡1, а (x→y)→(x→z)=0, т. е. x→y=1 и x→z=0, x=1, z=0 и y=1.
Однако в этом случае x→(y→z)=1→(1→0)=0. Получено противоречие, т. е. f≡1.
258
x = 0,
III1: f(x, y)=x→x∨y. Пусть f=0, тогда x=1, x∨y=0, т. е. 
что
 y = 0,
невозможно, так как x=1. Предположение f=0 неверно, должно быть
f≡1.
 x = 1,
IV3 : f ( x )= x → x. Пусть f=0,
=
x 1=
, x 0, т. е. 
x = 0.
Получено противоречие, следовательно, f≡1.
2.9.14.
а) Cогласно методу резолюций исходное соотношение
Γ
=
{ A ∨ C,C → B, B → A} - A → ( B → C )
{
}
преобразуем в множество Γ1= A ∨ C, C → B, B → A, A → ( B → C ) ,
которое надо проверить на противоречивость. Составим множество
дизъюнктов Γ и применим теорему 2.10.
{
}
Γ1/= A ∨ C, C ∨ B, B ∨ A, A, B, C . Вывод нуля из Γ1/ может быть,
например, таким:
C;
1) res A A ∨ C, A =
2) res C, C = 0.
Итак, формула A→(B→C) выводима из исходного множества;
б) проводим вычисления аналогично пункту а:
(
(
)
)
{ A ∨ C → B,C → A ∨ B, BC → A ∨ B} -B → C,
{( A ∨ B )( C ∨ B ), A ∨ B ∨ C, A ∨ B ∨ C, BC} -, Γ1/= {( A ∨ B ),( C ∨ B ),
A ∨ B ∨ C, A ∨ B ∨ C, B, C} -.
Γ=
Γ1=
Найдем все резольвенты множества Γ1/ :
(
)
2) resB ( A ∨ B ∨ C, A ∨ B ∨ C ) = A ∨ C;
3) resB ( A ∨ B ∨ C, B ) = A ∨ C;
4) res A ( A ∨ B, A ∨ C ) =B ∨ C.
1) res A A ∨ B, A ∨ B ∨ C = B ∨ C;
Дальнейший резолютивный вывод невозможен, т. е. формула
B→C не выводима из исходного множества Γ;
259
=
Γ
в) {C, A ∨ B} - ( B → C ) → A .
=
Γ1
A} {C, A ∨ B, A ∧ ( B ∨ C )} -,
{C, A ∨ B,( B → C ) → =
{C, A ∨ B, A, B ∨ C}.
/
Γ
=
1
(
)
C;
2) resB ( B, B ∨ C ) =
3) res ( C, C ) = 0.
B;
1) res A A ∨ B, A =
Формула (B→C)→A выводима из Γ.
2.9.15.
а) Γ = A ∨ B ∨ C ∨ D, B, A ∨ B ∨ C, C, B ∨ D . Применим к этому
множеству описанный в § 2.7 алгоритм проверки противоречивости
множества хорновских дизъюнктов. После найденной очередной резольвенты укажем состав множества хорновских дизъюнктов.
{
(
}
)
1) resB B, A ∨ B ∨ C ∨ D = A ∨ C ∨ D,
{ A ∨ C ∨ D, B, A ∨ B ∨ C,C, B ∨ D};
2) resC ( C, A ∨ C ∨ D ) = A ∨ D, { A ∨ D, B, C, A ∨ B ∨ C, B ∨ D};
∨ D ) D, {D, A ∨ D, B, C, A ∨ B ∨ C};
3) resB ( B, B=
=
4) res
D ( D, A ∨ D ) A, { A, D, B, C, A ∨ B ∨ C};
5) res A ( A, A ∨ B ∨ C ) = B ∨ C, {B ∨ C, A, D, B, C};
B, {B, C, A, D}.
6) resC ( C, B ∨ C ) =
В множестве {B, C, A, D} нет дизъюнктов необходимого вида для
составления резольвент. Следовательно, исходное множество Γ непротиворечиво;
{ A ∨ B ∨ C, A, B,C}.
1) res A ( A, A ∨ B ∨ C ) = B ∨ C, {B ∨ C, A, B, C};
B, {B, A, B, C};
2) resC ( C, B ∨ C ) =
3) res ( B, B ) = 0. Исходное множество Γ противоречиво;
в) Γ= {C ∨ D ∨ E, E ∨ F, C, D, A, F}.
=
б) Γ
260
(
)
{D ∨ E,C, E ∨ F, D, A, F};
, D ) E, {E, C, E ∨ F, A, F, D};
2) resD ( D ∨ E=
F, {F, E, C, D, A, F};
3) resE ( E, E ∨ F ) =
4) res ( F, F ) = 0. Множество Γ противоречиво.
1) resC C, C ∨ D ∨ E = D ∨ E,
261
3. ЛОГИКА ПРЕДИКАТОВ
Ответы и решения практического занятия №7
x2 + 3x + 2
= 0. Следует найти корни числителя и исx2 + 4 x + 3
ключить из их числа корни знаменателя, если они совпадут. Итак,
x2+3x+2=0, x1=–2, x2=–1; x2+4x+3=0, x1=–3, x2=–1. Следовательно,
IP={–2};
3.4.1. а)
2
x - 13x + 40 ≥ 0, x ≤ 5 èëè x ≥ 8,
б) 
IP=∅;
⇔
2
∅.

 2x + x + 30 < 0.
x+y
x-y
sin
= 0.
в) sin x = sin y, 2 cos
2
2
x+y
x-y
= 0, x + y = π + 2nπ, 2) sin
= 0, x - y = 2nπ. Итак,
1) cos
2
2




2
( x, y ) ∈ R

,
IP = 
x - y = 2nπ ) ∨ ( x + y = π + 2nπ ) 
(




n∈Z
область истинности предиката изображена на рис. 3.1.
x–y=2nπ
2π
5
π
x=siny
y=sinx
–2π –5 –π
0
π
5
2π
–π
x+y=π+2nπ
–5
–2π
Рис. 3.1
262
y
x
1=
, x y.
г) lg x= lg y, x > 0, y > 0=
.
y
x= y
x
( x, y ) ∈ R 2

(см. рис. 3.2).
Ip = 
x > 0, y > 0, x =
y


Рис. 3.2
3.4.2. Области истинности заданных предикатов изображены на рис. 3.3, а, б, в.
a)
б)
IQ
IP
IP (x )↔Q( x)
в)
IP (x)→ Q(x )∨ Q( x) = U
(
IQ
)
IP (x)∧ Q( x)→R ( x)
IR
Рис. 3.3
3.4.3.
а) (P(x)∧Q(x))∨(P(x)∧R(x));
б) P ( x ) ∨ Q ( x );
в) P ( x ) ∨ Q ( x ) ∨ R ( x ) ∨ ( P ( x ) ∧ Q ( x ) ∨ P ( x ) ∧ R ( x ) ∨ Q ( x ) ∧ R ( x ) );
г) P(x)∨Q(x).
3.4.4. а) ∀x((x2–6x+8≥0)∨(x2–6x+8<0)). x2–6x+8=0, x1=2, x2=4.
Если x2–6x+8≥0, то x≥4 или x≤2; если же x2–6x+8<0, то 2<x<4
т. е. x∈{(–∝, 2]∪[4, +∝)}∪{(2, 4)}.
Таким образом, ∀x∈R исходное высказывание истинно;
1
1
1
1 1


0  . x2 + x + =
б) ∃x  x2 + x + =
0, x1,2 =
- ±
- .
2
2
2
4 2


Действительных корней нет. Так как область определения пре1


0  ложно;
диката совпадает с R, то высказывание ∃x  x2 + x + =
2


263
в) ∀x(x2–5x+6≥0). x2–5x+6=0, x1=2, x2=3. ∀x∈{(x≤2)∨(x≥3)}. Так
как на интервале 2<x<3 неравенство не выполняется, то высказывание ложно;
г) ∃x((x∈{2, 5})→(x2–6x+8=0)). x2–6x+8=0, x1=2, x2=4.
∃x((x∈{2, 5})→(x∈{2, 4}))=∃x(x∉{2, 5}∨x∈{2, 4}). Высказывание истинно при x=2.
3.4.5.
а) да;
б) да;
в) нет.
3.4.6.
а) да;
б) нет;
в) да.
3.4.7.
а) x0 – связанная, x1 – свободная;
б) x2 – связанная, x1 и x3 – свободные переменные.
3.4.8.
а) A=∀yS(x, y, y);
б) B=∃z(∀yP(z, y, y)∧S(z, z, x));
в) C=∃yS(y, y, x).
3.4.9. а) ∀x∀y∀z(S(x, y, z)→S(y, x, z)), так как S(x, y, z)=(x+y=z), а
S(y, x, z)=(y+x=z);
б) ∀x∀y∀z∀u∀v∀w((S(x, y, u)∧S(y, z, w))→S(x, w, v)).
Это вытекает из следующих рассуждений: S(x, y, u)=(x+y=u), S(u,
z, v)=(u+z=v), S(y, z, w)=(y+z=w), S(x, w, v)=(x+w=v), т. е. ((x+y)+z=v)∧
∧ (y+z=w)→(x+w=v)), (x+y)+z=v=x+(y+z);
в) аналогично предыдущему пункту:
∀x∀y∀z∀u∀v∀w(P(x, y, u)∧P(u, z, v)∧P(y, z, w)→P(x, w, v));
∃x∃y(Π(y)∧x≤y),
г) (
)
где Π=
( x ) E ( x ) ∧ ∀y∀z P ( y,z, x ) → ( E ( y ) ∨ E ( z ) ) .
E(x)=∀yP(x, y, y), x≤y=∃zS(x, z, y), P и S из задачи 3.4.8. Формула
∃zS(x, z, y) с двумя свободными переменными x и y истинна тогда, когда x≤y, действительно, если ∃z∈N(x+z=y), то x≤y. Предикат
E(x)=∀yP(x, y, y)=∀y(x⋅y)=y истинен при x=1. Предикат Π(x) истинен,
если x – простое число. Это можно продемонстрировать на простом
примере, например, при x=4 и x=5.
264
(
)
Ï ( 5 ) = ∀yP ( 5, y, y ) ∧ ∀y∀z P ( y, z,5 ) → ( ∀vP ( y,v,v ) ∨ ∀uP ( z,u,u ) ) =
(
)
= ∀y ( 5 ⋅ y = y ) ∧ ∀y∀z ( y ⋅ z = 5 ) → ( ∀v ( y ⋅ v = v ) ∨ ∀u ( z ⋅ u = u ) ) =
= ( y ≠ 1) ∧ ( ( y = 5, z = 1) → ( y = 1) ∧ ( z = 1) ) = 1,
(
)
Ï ( 4 ) = ∀yP ( 4, y, y ) ∧ ∀y∀z P ( y, z,4 ) → ( ∀vP ( y,v,v ) ∨ ∀uP ( z,u,u ) ) =
(
)
= ∀y ( 4 ⋅ y = y ) ∧ ∀y∀z ( y ⋅ z = 4 ) → ( ∀v ( y ⋅ v = v ) ∨ ∀u ( z ⋅ u = u ) ) =
  íàïðèìåð, 

= ( y ≠ 1) ∧  
 → ( y = 1) ∧ ( z = 1)  = 0,
=
,z 2 
  y 2=

так как простое число делится только на единицу и на самого себя,
а у составного числа несколько делителей.
Таким образом, бесконечность множества простых чисел выражается формулой ∃x∃y(Π(y)∧x≤y), т. е. для любого x∈N найдется
такое простое y∈N, что простое y и любое x не больше y. При подстановке предиката Π(y) в исходную формулу, получим:
(
)
( (
∀x∃y ∃zS ( Ï ( y ) ∧ x, z, y ) =∀x∃y ∃zS E ( y ) ∧ ∀u∀w ( P ( u,w, y ) →
)) =∀x∃y ( ∃zS (∀uP ( y,u,u ) ∧
∧ ∀u∀w ( P ( u,w, y ) → ( E ( u ) ∨ E ( w ) ) ) ∧ x, z, y ) ).
)
→ ( E ( u ) ∨ E ( w ) ) ∧ x, z, y
-a ± a2 - 4a
. ∃x<0 подразумевает
2
действительный корень. Корни квадратного уравнения действительны, если a2–4a≥0, т. е. a≤0 или a≥4. Таким образом, высказывание истинно, если a∈(–∝, 0]∪[4, +∝), и ложно, если a∈(0, 4);
б) ∃x∈[a, a+1](x2–x–2≤0). x2–x–2≤0, –1≤x≤2. Следовательно, если
a∈[–2, 2], то x будет попадать на отрезок [–1, 2]. Тогда исходное высказывание истинно при a∈[–2, 2] и ложно, если a>2 или a<–2.
3.4.11. Рассуждение можно разбить на ряд посылок:
1) любой разумный философ – циник;
2) любой разумный философ – женщина;
3) если разумные философы существуют, то существуют женщины, которые являются циниками.
3.4.10. а) x2+ax+a=0, x1,2 =
265
Введем следующие предикаты: P(x)={является разумным философом}, Q(x)={является женщиной}, R(x)={x является циником}. Тогда общая формула, соединяющая в себе все посылки, имеет вид
(∀x(P(x)→R(x))∧∀x(P(x)→Q(x)))→(∃xP(x)→∃x(Q(x)∧R(x))).
3.4.12. Введем три одноместных предиката: P(x)={x – политик},
Q(x)={x – лицедей} и R(x)={x – лицемер}. Тогда все три предложения
исходного рассуждения могут быть представлены в виде формул
∀x(P(x)→Q(x)), ∃x(Q(x)→R(x)) и ∃x(P(x)→R(x)), а «перевод» всей фразы на язык логики предикатов будет иметь вид
(∀x(P(x)→Q(x))∧∃x(Q(x)→R(x)))→∃x(P(x)→R(x)).
3.4.13. Пусть одноместный предикат P(x)={x – глупец}, а предикат N(x) описывает действие: N(x)={x способен совершить что-то}.
Тогда высказывание ∃xN ( x ) можно интерпретировать, что некто
(возможно я) не может совершить этого действия, а высказывание
∃xP ( x ) означает, что некто не глупец. В целом исходная фраза может быть передана следующей формулой:
(∀x ( P ( x ) → N ( x )) ∧ ∃xN ( x )) → ∃xP ( x ).
3.4.14. Это утверждение заключает в себе много неопределенностей, связанных с отношениями субъектов и их свойствами. При обозначении предикатов будем интерпретировать эти свойства и отношения самым простым и понятным способом. Введем двухместный
предикат P(x, y)={x и y друзья}. Будем считать, что P(x, y)=P(y, x),
т. е. если x – друг y, то y – друг x.
Тогда утверждение, заключающееся в том, что для любой пары
друзей найдется такой человек, что если он дружит со вторым из
этой пары, то он дружит и с первым, запишется так:
∀x∀y∃z(P(x, y)∧P(y, z)→P(x, z)).
3.4.15. Введем двухместный предикат P(x, y)={x любит y}. Тогда
первая часть предложения выражается высказыванием ∀xP(x, x), а
вторая – ∃x∃yP(x, y). Общая формула ∀xP(x, x)→∃x∃yP(x, y).
Ответы и решения практического занятия №8
3.7.1. а)
266
(
)
≡ ∀x ( F ( x ) ∨ G ( x ) ) ∧ ∃x ( F ( x ) ∧ G ( x ) ) ≡ 1.
∀x ( F ( x ) → G ( x ) ) ∧ ∃x F ( x ) ∧ G ( x ) ≡
Тогда
(
(
)
)
∀x F ( x ) ∨ G ( x ) ≡ 1,


∃x F ( x ) ∧ G ( x ) ≡ 1.

Перейдем к однотипным кванторам в обоих тождествах.


∀xF ( x ) ∨ ∀yG ( y ) ≡ 1, ∀xF ( x ) ∧ ∀yG ( y ) ≡ 1, ∃xF ( x ) ∧ ∃yG ( y ) ≡ 0,
⇒
⇒


 ∃xF ( x ) ∧ ∃yG ( y ) ≡ 1,  ∃xF ( x ) ∧ ∃yG ( y ) ≡ 1, ∃xF ( x ) ∧ ∃yG ( y ) ≡ 1.

Или
∀xF ( x ) ∨ ∀yG ( x ) ≡ 1, ∀xF ( x ) ∨ ∀yG ( x ) ≡ 1, ∀xF ( x ) ∨ ∀yG ( x ) ≡ 1,
⇒
⇒

 ∃xF ( x ) ∧ ∃yG ( x ) ≡ 1,  ∃xF ( x ) ∨ ∃yG ( x ) ≡ 1, ∀xF ( x ) ∨ ∀yG ( y ) ≡ 1.
Обеим полученным системам удовлетворяет следующее расположение области истинности предикатов F(x) и G(x).
Таким образом, IF⊂IG (см. рис.3.4);
б)
∃x ( F ( x ) ∧ G ( x ) ) ∧ ∃x ( F ( x ) → G ( x ) ) ≡
(
)
(
)
≡ ∀x F ( x ) ∨ G ( x ) ∧ ∃x F ( x ) ∨ G ( x ) ≡ 1.
(
(
)
)
∀x F ( x ) ∨ G ( x ) ≡ 1,

⇒

∃x F ( x ) ∨ G ( x ) ≡ 1,

∀xF ( x ) ∨ ∀yG ( y ) ≡ 1,
⇒

 ∃xF ( x ) ∨ ∃xG ( x ) ≡ 1,
∀xF ( x ) ∨ ∀yG ( y ) ≡ 1,  ∀xF x ∨ ∀yG y ≡ 1,
( )
( )


⇒

∀xF ( x ) ∧ ∀xG ( x ) ≡ 0.
 ∃xF ( x ) ∧ ∃xG ( x ) ≡ 1, 
Итак, IF=∅, IG – любое подмножество M (см. рис. 3.5).
IF
IG
Рис. 3.4
M
M
IG
Рис. 3.5
267
3.7.2.
а) выполнима, если P(x) – не тождественно ложный предикат;
б) невыполнима. Пусть ∃(x=a)∈N, такой, что выполнима формула
∀y Q ( a, a ) ∧ Q ( a, y ) . Тогда выполнима и формула Q ( a, a ) ∧ Q ( a, a ).
(
)
Но Q ( a, a ) ∧ Q ( a, a ) =
0. Получено противоречие. Следовательно, исходная формула невыполнима;
в) формула может быть выполнима на N, например, когда предикаты Q и R выражают следующие отношения порядка
Q(x, y)=(x≥y), R(x, y)=(x+y≥z). Пусть ∃(x=a)∈N, что выполнима формула ∀y((a≥y)→∀z(a+y≥z)). Тогда, если y=z=a, то (a≥a)→(a+a≥a)=1→1=1,
т. е. исходная формула выполнима.
3.7.3. а) нет. Формула ложна на множестве N, если, например,
P(x)={x – четное число}. Тогда ∃xP(x)→∀xP(x)=1→0=0;
б) ∀xP ( x ) → ∃xP ( x ) ≡ ∀xP ( x ) ∨ ∃xP ( x ) ≡ ∃xP ( x ) ∨ ∃xP ( x ) ≡
(
)
≡ ∃x P ( x ) ∨ P ( x ) ≡ 1;
в) ∃xP ( x ) ∨ ∃xQ ( x ) ↔ ∃x ( P ( x ) ∨ Q ( x ) ) ≡ ( ∃xP ( x ) ∨ ∃xQ ( x ) →
) (
)
→ ∃x ( P ( x ) ∨ Q ( x ) ) ∧ ∃x ( P ( x ) ∨ Q ( x ) ) → ∃xP ( x ) ∨ ∃xQ ( x ) ≡
≡ ∃x ( P ( x ) ∨ Q ( x ) ) → ∃x ( P ( x ) ∨ Q ( x ) ) ≡ 1,
ибо высказывание ∃x(P(x)∨Q(x)) принимает значение 0 или 1, а
1→1=1 или 0→0=1;
г) пусть Q(x, y)=(x≤y), x, y∈N. Тогда высказывания ∃x∀yQ(x,
y)={существует натуральное число x такое, что для всякого натурального y истинно x≤y} и ∀x∃yQ(x, y)={для всякого натурального y
найдется не превосходящее его натуральное x} истинны на N. Таким
образом, формула ∃x∀yQ(x, y)→∀y∀xQ(x, y) тождественно истинна;
д) нет. Формула ложна на N, если P(x)={x – простое число}. Тогда
P(x)→∀yP(y)=1→0=0;
е) ∃x P ( x ) ∧ ( r → Q ( x ) ) → ∀x P ( x ) → Q ( x ) → r ≡
(
(
(
))
(
) )
( (
)
(
)
))
(
≡ ∃x P ( x ) ∧ r ∨ Q ( x ) ∨ ∀x P ( x ) ∨ Q ( x ) ∨ r ≡ ∀x P ( x ) ∨ r ∧ Q ( x ) ∨
(
)
(
) (
)
∨ ∃x ( P ( x ) ∧ Q ( x ) ) ∨ r ≡ ∀xP ( x ) ∨ r ∧ ∀yQ ( y ) ∨ r ∨ ∃xP ( x ) ∧
(
)
((
) (
))
∧ r ∨ ∃yQ ( y ) ≡ ∀xP ( x ) ∨ r ∧ ∀yQ ( y ) ∨ r ∨ ∃xP ( x ) ∧
((
) (
))
∧ r ∧ ∀yQ ( y ) ∨ r ∨ ∃yQ ( y ) .
268
Но
r ∧ ∀yQ ( y ) ≡ r ∨ ∀yQ ( y ) ≡ r ∨ ∃yQ ( y ).
Тогда
(r ∧ ∀yQ ( y )) ∨ (r ∨ ∃yQ ( y )) ≡ 1
и формула упрощается
(
) (
)
∀xP ( x ) ∨ r ∧ ∀yQ ( y ) ∨ r ∨ ∃xP ( x ) ≡
(
)
(
)
≡ ∀xP ( x ) ∨ ∃xP ( x ) ∨ r ∨ r ∧ ∀yQ ( y ) .
(
)
Однако ∀xP ( x ) ≡ ∀xP ( x ) ≡ ∃xP ( x ). Тогда 1 ∨ r ∨ r ∧ ∀yQ ( y ) ≡ 1,
т. е. исходная формула тождественно истинна.
3.7.4.
а) пусть на некотором множестве M данная формула ложна. Тогда ∃xP ( x ) =
1, ∀xP ( x ) =
0, т. е. ∃xP(x)=0, ∀xP(x)=1, что не может
быть, если M≠∅. Получено противоречие, следовательно, формула
∃xP ( x ) → ∀xP ( x ) тождественно истинна;
б) пусть на M данная формула ложна. Тогда на M
∀x P ( x ) → Q ( x ) =
1 и ∃xP ( x ) ∧ ∀xQ ( x ) =0, т. е. ∃xP(x)=1 и ∀xQ(x)=1.
(
)
Выберем (x=a)∈M такое, что P(x)=1. В этом случае P ( a ) → Q ( a ) =
1,
т. е. Q ( a ) = 1 и Q(a)=0, что противоречит ∀xQ(x)=1. Таким образом,
исходная формула тождественно истинна;
в) доказательство
полностью
аналогично
приведенному в предыдущем пункте. Пусть на M формула
∀x P ( x ) → Q ( x ) → ( ∀xP ( x ) ∧ ∃xQ ( x ) ) ложна. Это значит, что
(
)
∀x ( P ( x ) → Q ( x ) ) =
1, а ∀xP(x)=1 и ∃xQ(x)=1. Тогда должно быть
P(a) → Q(a) =
1, т. е. P(a)=0, что противоречит ∀xP(x)=1.
3.7.5. а) доказательство аналогично приведенному в § 3.5 для
формулы ∀xA ( x ) ≡ ∃x A ( x ). Рассмотрим на M множество значений
связанной переменной x и свободных переменных x1, x2,…, xn предиката P и выясним, какие значения принимают формулы ∃xP ( x )
и ∀xP ( x ) на произвольном наборе свободных переменных a1, a2,…,
an∈M.
1) ∀a ∈ M P ( x )
a,a1,a2 ,...,an
=
1,
269
=
0.
2) ∃a0 ∈ M P ( x )
a0 ,a1,a2 ,...,an
В первом случае
∀a ∈ M P ( x )
a,a1,a2 ,...,an
=
1,
тогда по определению
∃xP ( x )
a1,a2 ,...,an
=
1 и ∃xP ( x )
a1,a2 ,...,an
=
0.
С другой стороны, так как
∀aP ( x )
то ∀xP ( x )
a1,a2 ,...,an
a,a1,a2 ,...,an
=
1,
=
0. Таким образом, ∃xP ( x ) ≡ ∀xP ( x ).
Если же
∃a0 ∈ M P ( x )
то ∃xP ( x )
a1,a2 ,...,an
a0 ,a1,a2 ,...,an
=
0. Тогда ∃xP ( x )
=
0,
a1,a2 ,...,an
=
1, т. е. неверно, что
найдется такой x, для которого P(x) истинно. Это равносильно тому,
что для всякого x истинно P ( x ), т. е. ∀xP ( x )
a1,a2 ,...,an
=
1. Следова-
тельно, опять ∃xP ( x ) ≡ ∀xP ( x );
б) ∀xP(x)∧C≡∀x(P(x)∧C). Упростим пример и рассмотрим случай,
когда список свободных переменных предиката P пустой. Здесь возможны опять два случая:
1) ∀a∈M P(x)=1, C=1 или C=0,
2) ∀a∈M P(x)=0, C=1 или C=0.
В первом случае ∀xP(x)=1, если C=1, то ∀xP(x)∧C=1, если же C=0,
то ∀xP(x)∧C=0. Формула в правой части примет аналогичные значения. Действительно, если ∀xP(x)=1, то P(x)=1. Тогда ∀x(P(x)∧C)=1,
если C=1 и ∀x(P(x)∧C)=0, если C=0. Второй случай рассматривается
аналогично. Желающие могут повторить доказательство с непустым списком свободных переменных предиката P.
3.7.6.
а) ∃x∀y∃z∀uP ( x, y, z,u ) ≡ ∀x∃y∀z∃uP ( x, y, z,u );
б) ∃x∀yP(x, y)∧∃x∀yQ(x, y)≡∃x∀yP(x, y)∧∃z∃yQ(x, y)≡∃x∃z(∀yP(x,
y)∧∀yQ(z, y))≡∃x∃z∀y(P(x, y)∧Q(z, y));
270
∃x∀yP(x, y)∨∃x∀yQ(x, y)≡∃x(∀yP(x, y)∨∀yQ(x, y))≡
≡∃x(∀yP(x, y)∨∀zQ(x, z))≡∃x∀y∀z(P(x, y)∨Q(x, z));
в)
г) ∃x∀yP ( x, y ) → ∃x∀yQ ( x, y ) ≡ ∃x∀yP ( x, y ) ∨ ∃x∀yQ ( x, y ) ≡
≡ ∀x∃yP ( x, y ) ∨ ∃x∀yQ ( x, y ) ≡ ∀x∃yP ( x, y ) ∨ ∃z∀uQ ( z,u ) ≡
(
)
≡ ∀x∃y∃z∀u P ( x, y ) ∨ Q ( z,u ) ;
(
)
∀x∃y ( P ( x ) ↔ Q ( y ) ) ≡ ∃x∀y ( P ( x ) → Q ( y ) ) ∧ ( Q ( y ) → P ( x ) ) ≡
д)
(
) (
)
≡ ∃x∀y ( ( P ( x ) ∧ Q ( y ) ) ∨ ( Q ( y ) ∧ P ( x ) ) );
е) ∀x ( P ( x ) → ∃yQ ( y ) ) ≡ ∀x ( P ( x ) ∨ ∃yQ ( y ) ) ≡ ∀x∃y ( P ( x ) ∨ Q ( y ) ).


≡ ∃x∀y  P ( x ) ∨ Q ( y ) ∨ Q ( y ) ∨ P ( x )  ≡


3.7.7. а)
∀x∃yQ ( x, y ) → ∃x∀yQ ( x, y ) ≡ ∀x∃yQ ( x, y ) ∨
(
)
∨∀x∃yQ ( x, y ) ≡ ∃x∀yQ ( x, y ) ∨ ∃x∀yQ ( x, y ) ≡ ∃x ∀yQ ( x, y ) ∨ ∀zQ ( x,z ) ≡
(
)
≡ ∃x∀y∀z Q ( x, y ) ∨ Q ( x, z ) ;
(
)
∃x P ( x ) → ( ∀yQ ( x, y ) → ∀zR ( x, z ) ) ≡
б)
))
( (
≡ ∃x ( P ( x ) ∨ ( ∃yQ ( x, y ) ∨ ∀zR ( x, z ) ) ) ≡
≡ ∃x ( P ( x ) ∨ ∃y∀z ( Q ( x, y ) ∨ R ( x, z ) ) ) ≡ ∃x∃y∀z ( P ( x ) ∨ Q ( x, y ) ∨ R ( x, z ) ).
≡ ∃x P ( x ) ∨ ∀yQ ( x, y ) ∨ ∀zR ( x, z ) ≡
3.7.8. а)
∀x ( P ( x ) → Q ( x ) ) → ( ∀xP ( x ) → ∀xQ ( x ) ) ≡
(
) (
)
≡ ∃x ( P ( x ) ∧ Q ( x ) ) ∨ ( ∃xP ( x ) ∨ ∀xQ ( x ) ) ≡
≡ ∃x ( P ( x ) ∨ ( P ( x ) ∧ Q ( x ) ) ) ∨ ∀xQ ( x ) ≡ ∃x ( P ( x ) ∨ Q ( x ) ) ∨
≡ ∀x P ( x ) ∨ Q ( x ) ∨ ∀xP ( x ) ∨ ∀xQ ( x ) ≡
271
∨∀xQ ( x ) ≡ ∃xP ( x ) ∨ ∃xQ ( x ) ∨ ∀xQ ( x ) ≡ ∃xP ( x ) ∨ ∀xQ ( x ) ∨ ∀xQ ( x ) ≡
≡ 1 ∨ ∃xP ( x ) ≡ 1;
(
)
∨∀xP ( x ) ∨ ∃xQ ( x ) ≡ ∃x ( Q ( x ) ∨ ( P ( x ) ∧ Q ( x ) ) ) ∨ ∀xP ( x ) ≡
б) ∀x ( P ( x ) → Q ( x ) ) → ( ∃xP ( x ) → ∃xQ ( x ) ) ≡ ∃x P ( x ) ∧ Q ( x ) ∨
≡ ∃x ( Q ( x ) ∨ P ( x ) ) ∨ ∀xP ( x ) ≡ ∃xQ ( x ) ∨ ∃xP ( x ) ∨ ∃xP ( x ) ≡ 1;
∀∀
xx( q( q→→PP( x( x) )) ↔
) ↔( q( q→→∀∀xPxP( x( x) ))≡) ≡
≡≡∀∀
xx( q( q→→PP( x( x) ))→
) →( q( q→→∀∀xPxP( x( x) )) )∧∧( q( q→→∀∀xPxP( x( x) ))→
) →∀∀xx( q( q→→PP( x( x) )) ) ≡≡
в)
((
))((
( (
)
))))
((
) ((
)
)
≡ ∃x q ∧ P ( x ) ∨ q ∨ ∀xP ( x ) ∧ q ∧ ∃xP ( x ) ∨ q ∨ ∀xP ( x ) ≡
((
) (
)
(
)
≡ q ∨ q ∧ q ∨ ∃xP ( x ) ∨ ∀xP ( x ) ) ≡ q ∨ ∀xP ( x ) ∨ ∀xP ( x ) ≡ q ∨ 1 ≡ 1.
(
)
)
≡ ∃x∃y ( ( P ( x ) ∨ P ( y ) ) ∧ ( P ( x ) ∨ P ( y ) ) ∧ P ( x ) ) ≡ ∃x∃y ( ( P ( x ) ∨ P ( y ) ) ∧
∧ ( ( P ( x ) ∧ P ( x ) ) ∨ ( P ( y ) ∧ P ( x ) ) ) ) ≡ ∃x∃y ( ( P [ x ] ∨ P ( y ) ) ∧ P ( y ) ∧ P ( x ) ) ≡
≡ ∃x∃y ( ( P ( x ) ∧ P ( y ) ) ∨ ( P ( y ) ∧ P ( y ) ) ∧ P ( x ) ) ≡
≡ ∃x∃y ( P ( x ) ∧ P ( y ) ∧ P ( x ) ) ≡ 0.
(
∃x∃y ( P ( x ) → P ( y ) ) ∧ P ( x ) → P ( y ) ∧ P ( x ) ≡
3.7.9.
3.7.10. Рассмотрим сначала простой пример формулы A и продемонстрируем механизм преобразования формулы к требуемому
виду. Пусть
(
)
(
)
A=
∃xP1 ( x ) ∧ ∀yP2 ( y ) ∨ ∀zP3 ( z ) ≡ ∃xP1 ( x ) ∧ ∀y∀z P2 ( y ) ∨ P3 ( z ) .
Теперь вынесем все кванторы в начало формулы и кванторы всеобщности преобразуем в кванторы существования с помощью соответствующих эквивалентностей:
(
(
)
))
(
A =∃xP1 ( x ) ∧ ∀y∀z P2 ( y ) ∨ P3 ( z ) ≡ ∃x∀y∀z P1 ( x ) ∧ P2 ( y ) ∨ P3 ( z ) ≡
(
(
))
(
(
))
≡ ∃x∃y∀z P1 ( x ) ∧ P2 ( y ) ∨ P3 ( z ) ≡ ∃x∃y∃z P1 ( x ) ∨ P2 ( y ) ∧ P3 ( z ) = B.
272
В общем случае, если подформула A формулы A имеет вид ∃(∀)
yAi(x1, x2,…, xn, y), то необходимо привести Ai(x1, x2,…, xn, y) к виду
∨(∧ Aij ) или ∧(∨ Aij ), где каждое Aij начинается с квантора или имеi j
i j
ет вид P(u) или P ( u ) для некоторого P из σ и переменной u. Далее,
используя необходимые эквивалентности, получаем формулу B.
Ответы и решения практического занятия №9
3.9.1.
1) ∀x ∈ R∀y ∈ R ( x > y ) ∨ ( y > x ) ;
2) ∀a∈A∃xm∈R (a≤xm);
3) ∀x1 ∈ M∀x2 ∈ M...∀xk ∈ M∃α1 ∈ R∃α2 ∈ R...∃α k ∈
(
)
(
))
∈ R ( ( α1 + α2 + ... + α k ≠ 0 ) ∧ α1 x1 + α2 x2 + ... + α k xk =0 ;
(( ) )
4) ∀a ∈ R 3∀b ∈ R 3 a, b =0 ;
(
)
5) lim xn= x ⇔ ∀ε > 0∃N ( ε ) > 0∀n ∈ N ( n > N ( ε ) ) → xn - x < ε ;
n →∞
6) ∀n∈N (xn+1>xn);
7) ∀ε>0∃N(ε)>0∀n, l>N(ε) (xn–xl<ε);
8) ∃T∈R\{0}∀x∈M ((x±T)∈M∧(f(x±T)=f(x)));
9) ∀x1∈M∀x2∈M ((x1<x2)→(f(x1)<f(x2)));
10) ∀ε<0∃N(ε)>0∀x∈M ((x>N(ε))→f(x)-A<ε).
3.9.2.
1) признак имеет стандартную структуру ∀x∈M (P(x)→Q(x)). Посылка и заключение импликации имеют вид
∞
n +1
xn =
S.
0  и ∑ ( -1)
( xn ≥ xn+1 ≥ 0 ) ∧  lim xn =
n
→∞


n =1
В целом признак можно записать так:
 ∞

n +1
∀n ∈ N ( xn ≥ xn +1 ≥ 0 ) ∧  lim xn= 0  → ∃S ∈ R  ∑ ( -1)
xn= S .


 n→∞

 n =1

Выражение lim xn = 0 можно расписать подробнее, например,
n →∞
так как это сделано в задаче 3.9.1. 10);
2) ∀y∈[a, b](∀ε>0∃δ>0∀x∈M (0<x–y<δ→f(x)-f(y)<ε))→∃N∈R+∀
x∈[a, b](f(x)<N);
((
(
(
3) ∀y ∈ [ a, b ] ∀ε > 0∃δ > 0∀x ∈ M 0 < x - y < δ → f ( x ) - f ( y ) < ε
))) ∧
273
(
)
(
)
∧ ∀x ∈ ( a, b ) ∃f / ( x ) ≠ ∞ ∧ ( f=
( a ) f ( b ) ) → ∃c ∈ ( a,b ) f /=
(c) 0 ;
(
))
(
4) ∀y ∈ [ a, b ] ∀ε > 0∃δ > 0∀x ∈ M 0 < x - y < δ → f ( x ) - f ( y ) < ε →
b
→ ∃c ∈ [ a, b ] ∫ f ( x=
) dx f ( c )( b - a ) );

a
5) 
(((∀ε>0∃N(ε)>0∀n∈N((n>N(ε))→xn–x<ε))→xn–x<ε)→
→ (∀ε>0∃N(ε)>0∀n, l>N(ε)(xn–xl<ε)))∧((∀ε>0∃N(ε)>0∀n,
l>N(ε)(xn–xl<ε))→(∀ε>0∃N(ε)>0∀n>N((n>N(ε))→xn–x<ε))).
3.9.3.
1) исходное утверждение имеет вид ∀f∈F (P(f)→Q(f)), где
P(f) – предикат, выражающий интегрируемость f(x) на отрезке [a, b], а Q(f) определяет свойство монотонности этой функции на [a, b]. Перейдем к противоположному выражению
(
)
∀f ∈ F ( P ( f ) → Q ( f ) ) ≡ ∃f ∈ F P ( f ) ∧ Q ( f ) . Таким образом, чтобы доказать несправедливость исходного утверждения, необходимо привести пример любой функции, которая была бы непрерывной на [a,
b], но немонотонной на этом отрезке. Такую функцию найти нетрудно, например, y=x2 на отрезке [–1, 1] удовлетворяет заданным требованиям (рис. 3.6);
=
P(f ) =
f // ( x0 ) 0 , Q(f)={x0 – точка экс2) ∀f∈F (P(f)→Q(f)), где
(
(
)
)
тремума функции f(x)}. ∃f ∈ F P ( f ) ∧ Q ( f ) – существует функция,
имеющая в точке x0 вторую производную, равную
нулю, но не имеющая экстремума в этой точке. Например, y=x3. y// = 6x, y// ( 0 ) = 0,
но x0=0 – точка перегиба графика функции, а не точка экстремума
(рис. 3.7);
3) ∀f∈F (P(f)→Q(f)), P(f)={f(x)} ограничена на отрезке [a, b],
Q(f)={f(x)} интегрируема по Риману на [a, b]. ∃f ∈ F P ( f ) ∧ Q ( f ) –
(
y
)
y
y = x2
y = x3
x0
–1
1
Рис. 3.6
274
x
Рис. 3.7
x
найдется ограниченная на [a, b] функция, не интегрируемая по Риману на этом отрезке. Рассмотрим функцию Дирихле1
1, x - ðàöèîíàëüíîå,
D(x) = 
0, x - èððàöèîíàëüíîå.
Она ограничена на [a, b], но не интегрируема по Риману. В самом
деле, для любого разбиения отрезка [a, b] при рациональных xi соответствующая интегральная сумма равна b-a, а при иррациональных – нулю. Поэтому не существует предела интегральных сумм
при h=xi–xi-1→0 и, следовательно, функция Дирихле не интегрируема по Риману;
4) ∃f ∈ F P ( f ) ∧ Q ( f ) – существует дифференцируемая в точке
x0 функция f(x), не имеющая в этой точке локального экстремума.
Если f(x)=x3 и x0=0, то f / ( 0 ) = 0, но x0=0 точка перегиба (рис. 3.7).
5) ∃f ∈ F P ( f ) ∧ Q ( f ) – существует функция, представимая на
отрезке [a, b] рядом Тейлора, но этот ряд не сходится к f(x) во всех
точках этого отрезка. Такие функции существуют. Например, рассмотрим
(
)
(
)
 -1
2

f ( x ) = e x , x ≠ 0,
 0, x = 0.

Эта функция бесконечно дифференцируема. При x≠0 f(x)≠0 –
это очевидно. При x=0 производные вычисляются по определению.
n
Оказывается, что f ( ) ( 0 ) = 0 при n≥0. Поэтому все члены ряда Тейлора для функции f(x) при x0=0 обращаются в нуль. Ясно, что получившийся ряд не сходится к функции f(x);
6) ∃A P ( A ) ∧ Q ( A ) – найдется такая формула логики предикатов, которая будет выполнима, но не общезначима. Например,
∃xP(x). Значение этого высказывания зависит от области истинности IP предиката P(x). Формула ∃xP(x) выполнима, если P(x) – не
тождественно ложный предикат, т. е. если IP≠∅, однако не общезначима.
3.9.4. 1) P(x)={в четырехугольнике диагонали взаимно перпендикулярны}, Q(x)={четырехугольник – ромб}. ∀x∈M (P(x)→Q(x)) – основная
теорема неверна, ибо легко можно представить трапецию с взаимно
(
1
)
Петер Густав Лежен – Дирихле (1805–1859) – немецкий математик.
275
перпендикулярными диагоналями
(рис. 3.8).
Обратная
теорема
∀x∈M
(Q(x)→P(x)) – если четырехугольник – ромб, то его диагонали перпендикулярны. Эта теорема верна и
является одним из признаков ромба.
Рис. 3.8
(
)
Противоположная теорема ∀x ∈ M P ( x ) → Q ( x ) – если у четырехугольника диагонали не перпендикулярны, то это не ромб –
тоже верна.
Обратная к противоположной теорема ∀x ∈ M Q ( x ) → P ( x ) –
если четырехугольник – не ромб, то его диагонали не перпендикулярны, неверна (рис. 3.8);
2) ∀f∈F (P(f)→Q(f)), P(f)={f(x) непрерывна на [a, b] и f(a)<0, f(b)>)},
Q(f)=∃c∈(a, b) (f(c)=0). Это верная теорема, она выражает одно из
свойств непрерывных функций и имеет простой геометрический
смысл. График непрерывной функции, соединяющий точки (a, f(a))
и (b, f(b)), где f(a)<0, а f(b)>0 пересекает ось OX по крайней мере в одной точке (рис. 3.9).
Обратная теорема ∀f∈F (Q(f)→P(f)) – если между точками a и b
найдется точка c, в которой функция обращается в нуль, то функция непрерывна на отрезке [a, b]
и принимает на его концах знаf
чения разных знаков. Эта теорема неверна, что хорошо видно на
f (x)
a
c
рис. 3.10. Противоположная теоре-
(
(
b x
Рис. 3.9
f (x)
a c
b
x
Рис. 3.10
276
)
)
ма ∀f ∈ F P ( f ) → Q ( f ) – если f(x)
разрывна на [a, b] и на его концах не
принимает значения разных знаков,
то не найдется точки c∈(a, b), в которой f(c)=0. Эта теорема также неверна, что демонстрирует рис. 3.10.
Наконец, обратная к противоположной
теорема
∀f ∈ F Q ( f ) → P ( f ) – если нет точки c∈(a, b), где f(c)=0, то функция
f(x) разрывна на [a, b] и не принимает на концах отрезка значения разных знаков. Это верная теорема.
(
)
f(x)
f(x)
f(x)
b
a
x
b
b
a
x
a
x
Рис. 3.11
Различные случаи описанной ситуации (когда неверно следствие
теоремы) показаны на рис. 3.11.
3) ∀f∈F (P(f)→Q(f)), P(f)={f(x) дифференцируема в точке x0},
Q(f)={f(x) непрерывна в точке x0}. Исходная теорема верна, она выражает одно из свойств дифференцируемых функций.
Обратная теорема ∀f∈F (Q(f)→P(f)) – если f(x) непрерывна в точке
x0, то она и дифференцируема в этой точке. Эта теорема неверна (см.
§ 3.8 c. 143 и рис. 3.10 на с. 147 части. I).
Противоположная теорема ∀f ∈ F P ( f ) → Q ( f ) – если f(x) не
дифференцируема в точке x0, то она разрывна в этой точке. Это утверждение тоже неверно (рис. 3.11). Непрерывная функция не имеет
конечных производных во всех угловых точках и точках возврата.
Обратная к противоположной теорема ∀f ∈ F Q ( f ) → P ( f ) –
если f(x) разрывна в точке x0, то она и не дифференцируема в этой
точке. Это верное утверждение;
4) ∀f∈F (P(f)→Q(f)), P(f)={дифференцируемая f(x) имеет в точке
Q(f ) =
f / ( x0 ) 0 . Это верная теорема,
x0 локальный экстремум},=
она составляет необходимое условие экстремума.
Обратная теорема ∀f∈F (Q(f)→P(f)) – если f / ( x ) = 0, то в точке x0
f(x) имеет экстремум. Теорема неверна (см. рис. 3.7).
Противоположная теорема ∀f ∈ F P ( f ) → Q ( f ) – если в точке x0
f(x) не имеет экстремума, то f / ( x0 ) ≠ 0. Это утверждение тоже неверно, что подтверждается тем же рисунком.
Обратная к противоположной теорема ∀f ∈ F Q ( f ) → P ( f ) –
если f / ( x0 ) ≠ 0, то в точке x0 нет экстремума функции f(x). Теорема
верна;
∞
5) ∀u∈M (P(u)→Q(u)), P(u)={ряд ∑ un сходится},
(
(
)
(
)
(
)
)
(
)
n =1
Q ( u ) =
=
lim un 0 .
 n→∞

277
Основная теорема верна, в математическом анализе она называется необходимым признаком сходимости ряда.
Обратная теорема ∀u∈M (Q(u)→P(u)) – если предел общего члена
ряда равен нулю, то ряд сходится. Это неверное утверждение. Рас∞
1
смотрим гармонический ряд ∑ . Известно, что этот ряд расходитn
n =1
1
ся, но lim = 0.
n →∞ n
Противоположная теорема ∀u ∈ M P ( u ) → Q ( u ) – если ряд расходится, то lim un ≠ 0. Несправедливость этой теоремы демонстри-
(
)
n →∞
руется тем же примером.
Обратная к противоположной теорема ∀u ∈ M Q ( u ) → P ( u ) –
если lim un ≠ 0, то ряд расходится. Теорема справедлива и известна
(
)
n →∞
под названием практического признака расходимости рядов.
3.9.5.
1) даны два предиката P(x)={два треугольника равны} и Q(x)={все
углы одного треугольника равны соответствующим углам другого}.
Рассмотрим формулу
∀x ∈ M ( P ( x ) ↔ Q ( x ) ) ≡
Í  
Í 

 Ä
 Ä
≡  ∀x ∈ M  P ( x ) → Q ( x )   ∧  ∀x ∈ M  Q ( x ) → P ( x )  .

 




 



Первый логический сомножитель
Í 
 Ä
∀x ∈ M  P ( x ) → Q ( x ) 



 – очевидно, верное высказывание.
Второй сомножитель
Í 
 Ä
∀x ∈ M  Q ( x ) → P ( x ) 



 – высказывание ложное: если все углы одного треугольника равны соответствующим углам другого, то эти треугольники равны.
Предикат Q(x) для P(x), таким образом, является необходимым,
но недостаточным условием. Следовательно, исходное предложение
должно быть сформулировано так: для того чтобы два треугольника
были равны, необходимо, но недостаточно, чтобы все углы одного
треугольника были равны соответствующим углам другого;
278
2) правильными называются такие многоугольники, у которых
все стороны и все углы равны. Введем два предиката с условным аргументом x: P(x)={все стороны многоугольника равны} и Q(x)={этот
многоугольник правильный}. Тогда
∀x ∈ M ( P ( x ) ↔ Q ( x ) ) ≡
Í  
Í 

 Ä
 Ä
≡  ∀x ∈ M  P ( x ) → Q ( x )   ∧  ∀x ∈ M  Q ( x ) → P ( x )  .

 




 



Í 
 Ä
Первое высказывание ∀x ∈ M  P ( x ) → Q ( x )  ложно, примером


Í 


 Ä
может служить ромб; второе высказывание ∀x ∈ M  Q ( x ) → P ( x ) 




истинно. Таким образом, исходное утверждение имеет вид: для того
чтобы все стороны многоугольника были равны, достаточно, но не
необходимо, чтобы многоугольник был правильным;
3) сформулирована известная теорема векторной алгебры. Пусть
P(x)={два вектора в R2 линейно зависимы} и Q(x)={два вектора коллинеарны}. Тогда
Í 
 Ä
∀x ∈ M  Q ( x ) → P ( x ) 



 – верное высказывание, высказывание
Í 
 Ä
∀x ∈ M  Q ( x ) → P ( x ) 




тоже истинно. Следовательно, исходная теорема звучит так: для
того чтобы два вектора в R2 были линейно зависимы, необходимо и
достаточно, чтобы они были коллинеарны;
4) достаточно, но не необходимо. См. § 3.8, пример 1;
5) необходимо и достаточно (см. п. 3).
279
4. ИСЧИСЛЕНИЕ ПРЕДИКАТОВ
Ответы и решения практического занятия №10
4.10.1. Найдем все θi°θj. θ1={t1x1, t2x2, t3x3}={F1(y)x, F2(x,
z)y, c1z}, θ2={q1y1, q2y2, q3y3}={F2(F1(x), y)x, F1(c1)y, F1(z)z}.
Сначала получим множество {t1θ2x1, t2θ2x2, t3θ2x3, q1y1, q2y2,
q3y3}={F1(F1(c1))x, F2(F2(F1(x), y), F1(z))y, c1z, F2(F1(x), y)x, F1(c1)y,
F1(z)z}. Из этого множества надо вычеркнуть все элементы tjθ2xj,
для которых tjθ2=xj, и все элементы qiyi, такие, что yi∈{x1, x2,…, xn}.
В нашем случае t1θ2=F1(F1(c1))≠x1=x, t2θ2=F2(F2(F1(x), y),
F1(z))≠x2=y и t3θ2=c1≠x3=z. Однако y1=x1=x, следовательно, выражение F2(F1(x), y)x надо вычеркнуть, аналогично y2=x2=y, т. е. F1(c1)y
надо вычеркнуть, и y3=x3=z, т. е. F1(z)z вычеркиваем. Окончательно, θ1θ2={F1(F1(c1))x, F2(F2(F1(x), y), F1(z))y, F1(z))y, c1z}.
θ1°θ3: θ1={t1x1, t2x2, t3x3}={F1(y)x, F2(x, z)y, c1z }, θ3={q1y1,
q2y2, q3y3}={F2(c1)x, c2y, xz}. Находим множество {t1θ3x1, t2θ3x2,
t3θ3x3, q1y1, q2y2, q3y3}={F1(c2)x, F2(F2(c1), x)y, c1z, F2(c1)x, c2y,
xz}.
t1θ3=F1(c1)≠x1=x, t2θ3=F2(F2(c1), x)≠x2=y, t3θ3=c1≠x3=z; y1=x1=x, т. е.
F2(c1)x вычеркиваем, y2=x2=y, c2y вычеркиваем, y3=x3=z, xz вычеркиваем. Тогда θ1θ3={F1(c2)x, F2(F2(c1), x)y, c1z}.
θ1°θ4: θ1={t1x1, t2x2, t3x3}={F1(y)x, F2(x, z)y, c1z}, θ4={q1y1,
q2y2, q3y3}={yx, zy, xz}. Отсюда θ1θ4={t1θ4x1, t2θ4x2, t3θ4x3,
q1y1, q2y2, q3y3}={F1(z)x, F2(y, x)y, c1z, yx, zy, xz}. Здесь
t1θ4=F1(z)≠x1=x, t2θ4=F2(y, x)≠x2=y, t3θ4=c1≠x3=z; y1=x1=x, yx вычеркиваем, y2=x2=y, zy вычеркиваем, y3=x3=z, xz вычеркиваем. Следовательно, θ1θ4={F1(z)x, F2(y, x)y, c1z}.
θ2°θ3: θ2={t1y1, t2y2, t3y3}={F2(F1(x), y)x, F1(c1)y, F1(z)z},
θ3={q1y1, q2y2, q3y3}={F2(c1)x, c2y, xz}. θ2θ3={t1θ3x1, t2θ3x2, t3θ3x3,
q1y1, q2y2, q3y3}={F2(F1(F2(c1)), c2)x, F1(c1)y, F1(x)z, F2(c1)x, c2y,
xz}. t1θ3=F2(F1(F2(c1)), c2)≠x1=x, t2θ3=F1(c1)≠x2=y, t3θ3=F1(x)≠x3=z;
y1=x1=x, F2(c1)x вычеркиваем, y2=x2=y, c2y вычеркиваем, y3=x3=z,
xz вычеркиваем. Отсюда θ2θ3={F2(F1(F2(c1)), c2)x, F1(c1)y, F1(x)z}.
θ2°θ4: θ2={t1y1, t2y2, t3y3}={F2(F1(x), y)x, F1(c1)y, F1(z)z},
θ4={q1y1, q2y2, q3y3}={yx, zy, xz}. θ2θ4={t1θ4x1, t2θ4x2, t3θ4x3,
q1y1, q2y2, q3y3}={F2(F1(y), z)x, F1(c1)y, F1(x)z, yx, zy, xz}.
t1θ4=F2(F1(y), z)≠x1=x, t2θ4=F1(c1)≠x2=y, t3θ4=F1(x)≠x3=z; y1=x1=x, yx
вычеркиваем, y2=x2=y, zy вычеркиваем, y3=x3=z, xz вычеркиваем.
Таким образом, θ2θ4={F2(F1(y), z)x, F1(c1)y, F1(x)z}.
280
θ3°θ4: θ3={t1y1, t2y2, t3y3}={F2(c1)x, c2y, xz}, θ4={q1y1, q2y2,
q3y3}={yx, zy, xz}. θ3θ4={t1θ4x1, t2θ4x2, t3θ4x3, q1y1, q2y2,
q3y3}={F2(c1)x, c2y, yz, yx, zy, xz}.
t1θ4=F2(c1)≠x1=x, t2θ4=c2≠x2=y, t3θ4=y≠x3=z; y1=x1=x, yx вычеркиваем, y2=x2=y, zy вычеркиваем, y3=x3=z, xz вычеркиваем. Итоговая
подстановка θ3θ4={F2(c1)x, c2y, yz }.
4.10.2.
а) воспользуемся алгоритмом унификации, описанным в § 4.8.
P0=Γ={P(c, x, F2(F1(y))), P(z, F2(z), F2(u))}.
1. k=0, P0 – исходное множество, θP0 =
ε;
2. P0 – не одноэлементное множество, D0={c, z},
3. z∉c,
4. θ={cz}, θ1 = θP0 θ = {c z},
P1=P0θ1={P(c, x, F2(F1(y))), P(c, F2(c), F2(u))},
5. k=1, P1 – не одноэлементное множество, D1={x, F2(c)},
6. x∉F2(c),
7. θ={F2(c)x}, θ2=θ1θ={cz, F2(c)x},
P2=P1θ={P(c, F2(c), F2(F1(y))), P(c, F2(c), F2(u))},
8. k=2, P2 – не одноэлементное множество, D2={F1(y), u},
9. u∉F1(y),
10. θ={F1(y)u}, θ3=θ2θ={cz, F2(c)x, F1(y)u},
P3=P2θ={P(c, F2(c), F2(F1(y))), P(c, F2(c), F2(F1(y))))}={P(c, F2(c),
F2(F1(y))))},
11. P3 – одноэлементное множество, θ3={cz, F2(c)x, F1(y)u} –
НОУ для Γ;
б) P0=Γ={P(F1(c), F2(x)), P(y, y)}.
1. k=0, P0 – исходное множество содержит два элемента, θP0 =
ε,
2. D0={F1(c), y},
3. y∉F1(c),
4. θ={F1(c)y}, θ1 = θP0 θ = F1 ( c ) y ,
{
}
P1=P0θ1={P(F1(c), F2(x)), P(F1(c), F1(c))},
5. k=1, P1 – не одноэлементное множество, D1={F2(x), F1(c)}, D1 не
содержит переменных; конец алгоритма, исходное множество не
унифицируемо;
в) P0=Γ={P(c, x), P(c, c)}.
1. k=0, P0 -неодноэлементно, θP0 =
ε,
2. D0={x, c},
3. x∉c,
4. θ={cx}, θ1 = θP0 θ = {c x}, P1=P0θ1={P(c, c), P(c, c)}={P(c, c)},
5. k=1, P1 – одноэлементное множество, θ={cx} – НОУ для Γ;
281
г) P0=Γ={P(c, x, F(x)), P(c, y, y)}.
1. k=0, P0 – исходное множество содержит два элемента, θP0 =
ε,
2. D0={x, y},
3. x∉y,
4. θ={xy}, θ1 = θP0 θ = {x y}, P1=P0θ1={P(c, x, F(x)), P(c, x, x)},
5. k=1, P1 – не одноэлементное множество, D1={F(x), x},
6. x∈F(x), исходное множество не унифицируемо;
д) P0=Γ={F(u, F1(x, y), F(y, z)), F(u, F1(c, z))}.
1. k=0, P0 – исходное множество содержит три элемента, θP0 =
ε,
2. D0={u, y},
3. u∉y,
4. θ={uy}, θ1 = θP0 θ = {u y},
P1=P0θ1={F(u, F1(x, u)), F(u, z), F(u, F1(c, z))},
5. k=1, P1 – не одноэлементное множество, D1={F1(x, u), z},
6. z∉F1(x, u),
7. θ={F1(x, u)z}, θ2=θ1θ={uy, F1(x, u)z},
P2=P1θ={F(u, F1(x, u)), F(u, F1(x, u)), F(u, F1(c, F1(x, u)))}={F(u, F1(x,
u)), F(u, F1(c, F1(x, u)))},
8. k=2, P2 – не одноэлементное множество, D2={x, c},
9. x∉c,
10. θ={cx}, θ3=θ2θ={uy, F1(x, u)z, cx},
P3=P2θ={F(u, F1(c, u)), F(u, F1(c, F1(x, u)))},
11. k=3, P3 – не одноэлементное множество, D3={u, F1(x, u)},
12. u∈F1(x, u), исходное множество не унифицируемо.
4.10.3.
а) A =
P ( x ) ∨ P ( F ( y ) ) ∨ P2 ( x ). Найдем НОУ для первых двух членов формулы A.
θ={F(y)x},
=
Aθ P ( F ( y ) ) ∨ P ( F ( y ) ) ∨ P2=
( F ( y ) ) P ( F ( y ) ) ∨ P2 ( F ( y ) ).
Aθ – склейка A.
б) A=P1(x)∨P2(y)∨P1(F(x)). θ={F(x)x}, x∈F(x). Формулы P1(x) и
P1(F(x)) не имеют НОУ, формула A не имеет склейки.
в) A=F1(x)∨F2(y)∨F1(F2(c))∨F1(z)∨F2(z). θ={F2(c)x},
Aθ=F1(F2(c))∨F2(y)∨F1(z)∨F2(z) – первая склейка A;
θ1={F2(c)z}, Aθθ1=F1(F2(c))∨F2(y)∨F2(F2(c)) – вторая склейка A;
θ21={F2(c)y}, Aθθ1θ2=F1(F2(c))∨F2(F2(c)) – третья склейка A.
4.10.4.
B2 P1 ( c ) ∨ P3 ( x ). Дизъюнкты имеют общую
а) B1=P1(x)∨P2(x),=
переменную x, заменим ее на y, получим
282
=
B2/ P1 ( c ) ∨ P3 ( y ).
Тогда
A1=P1(x), A2 = P1 ( c ), A2 = P1 ( c ), θ={cx},
B1θ ∨ =
B2/ θ P1 ( c ) ∨ P2 ( c ) ∨ P1 ( c ) ∨ P3 ( y ), res(B1, B2)=P2(c)∨P3(y).
B1 P1 ( x ) ∨ P2 ( x, x ),
б) =
B2 = P2 ( c, F ( c ) ).
Общих
переменных в B1 и B2 нет. A1=P2(x, x), A2 = P2 ( c, F ( c ) ), θ={cx},
B1θ ∨ =
B2/ θ P1 ( c ) ∨ P2 ( c, c ) ∨ P2 ( c, F ( c ) ), θ2={F(c)c}, c∈P(c). Множество
дизъюнктов {B1, B2} не унифицируемо, следовательно, не имеет резольвент.
B2 P ( x ) ∨ Q ( b, y ). θ={ax},
в) B1=P(a)∨Q(x, b),=
B1θ ∨ B
=
2 θ P ( a ) ∨ Q ( a, b ) ∨ P ( a ) ∨ Q ( b, y ), res(B1, B2)=Q(a, b)∨Q(b, y).
4.10.5.
а) F1 =∀x∀y ( P1 ( x, y ) → P2 ( x, y ) ) ≡ ∀x∀y P1 ( x, y ) ∨ P2 ( x, y ) ,
(
)
(
)
F2 =∀x∀y ( P2 ( x, y ) → P3 ( x, y ) ) ≡ ∀x∀y P2 ( x, y ) ∨ P3 ( x, y ) ,
F3=∃x∃yP1(x, y).
Отбросим кванторы всеобщности, а переменным, связанным квантором существования, присвоим конкретные значения: x=a, y=b, F3/ = P1 ( a, b ). Получим множество дизъюнктов
{
}
=
Γ P1 ( x, y ) ∨ P2 ( x, y ), P2 ( x, y ) ∨ P3 ( x, y ), P1 ( a, b ) , которое надо проверить на противоречивость методом резолюций.
(
)
res P1 ( x, y ) ∨ P2 ( x, y ), P1 ( a, b ) =
? θ1={ax, by},
res = P1 ( a, b ) ∨ P2 ( a, b ) ∨ P1 ( a, b ) = P2 ( a, b ),
(
)
res P2 ( a, b ), P2 ( x, y ) ∨ P3 ( x, y ) =
? θ1={ax, by},
res = P2 ( a, b ) ∨ P2 ( a, b ) ∨ P3 ( a, b ) = P3 ( a, b ).
Других резольвент у множества Γ={F1, F2, F3} нет, поэтому резолютивный вывод нуля из Γ не существует. Следовательно, исходное
множество формул Γ не противоречиво.
б) Γ
{P1 ( c1,f ( c2 ),f ( c3 ) ), P2 ( c1 ), P1 ( x,x,f ( x )), P1 ( x,y,z) ∨
283
}
∨ P3 ( x, z ), P2 ( x ) ∨ P1 ( y, z,u ) ∨ P3 ( x,u ) ∨ P3 ( x, y ) ∨ P3 ( x, z ), P3 ( c1, c3 ) =
= {F1, F2 , F3 , F4 , F5 , F6 }.
res(F2, F5)=res(F2, F2{zy})=? θ1={c1x},
F2θ1 ∨ F5 {z y=
} θ1 P2 ( c1 ) ∨ P2 ( c1 ) ∨ P1 ( z,z,u ) ∨
∨ P3 ( c1,u ) ∨ P3 ( c1, z ) ∨ P3 ( c1, z ) = P1 ( z, z,u ) ∨ P3 ( c1,u ) ∨ P3 ( c1, z ) = F7 .
res(F3, F7)=? θ1={xz, f(x)u},
F=
3 θ1 ∨ F7 θ1 P1 ( x, x, f ( x ) ) ∨ P1 ( x, x, f ( x ) ) ∨ P3 ( c1, f ( x ) ) ∨
∨ P3 ( c1, x=
) P3 ( c1,f ( x ) ) ∨ P3 ( c1, x=) F8 .
res(F6, F8)=? θ1={c3x},
F6 θ1=
∨ F8 θ1 P3 ( c1, c3 ) ∨ P3 ( c1, f ( c3 ) ) ∨ P3 =
, f ( c3 ) ) F9 .
( c1,c3 ) P3 ( c1=
res(F4, F9)=? θ1={c1x, f(c3)z},
=
=
F4 θ1 ∨ F9 θ1 P1 ( c1, y, f ( c3 ) ) ∨ P3 ( c1, f ( c3 ) ) ∨ P
3 ( c1, f ( c3 ) )
= P=
1 ( c1, y, f ( c3 ) ) F10 .
res(F1, F10)=? θ1={f(c2)y},
=
F1θ1 ∨ F10 θ1 P1 ( c1, f ( c2 ), f ( c3 ) ) ∨ P1 =
( c1,f ( c2 ),f ( c3 ) ) 0.
(
((
(
в) F1 = ∃x P ( x ) ∧ ∃y P y ∧ ( Q ( x ) ∧ Q ( y ) ) ∧ ∃zP ( z )
)))) ≡
))
≡ ∃x∃y∃z ( P ( x ) ∧ P ( y ) ∧ Q ( x ) ∧ Q ( y ) ∧ P ( z ) ), x=a, y=b, z=c,
Γ ={P ( a ), P ( b ), Q ( a ), Q ( b ), P ( c )},
(
≡ ∃x P ( x ) ∧ ∃y ( P ( y ) ∧Q ( x ) ∧ Q ( y ) ∧ ∃zP ( z ) ≡
резольвент множество Γ не имеет. Исходная формула выполнима.
284
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Ершов Ю. Л., Палютин Е. А. Математическая логика. М.: Наука, 1987.
2. Клини С. Математическая логика. М.: Мир, 1973.
3. Новиков П. С. Элементы математической логики. М.: Наука,
1973.
4. Косовский Н. К. Основы теории элементарных алгоритмов. Л.:
Изд-во ЛГУ, 1987.
5. Гиндикин С. Г. Алгебра логики в задачах. М.: Наука, 1972.
6. Лавров И. А., Максимова Л. Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Наука, 1984.
7. Лихтарников Л. М., Сукачева Т. Г. Математическая логика.
СПб.: Лань, 1998.
8. Фридман А., Менон П. Теория и проектирование переключательных схем. М.: Мир, 1978.
9. Мендельсон Э. Введение в математическую логику. М.: Наука,
1984.
10. Шенфилд Дж. Математическая логика. М.: Наука, 1975.
11. Робинсон А. Введение в теорию моделей и метаматематику алгебры. М.: Наука, 1967.
12. Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем. М.: Наука, 1983.
13. Шапорев С. Д. Математическая логика. Курс лекций и практических занятий. СПб., БХВ-Петербург, 2005.
14. Проблемы математической логики. Сложность алгоритмов и классы вычислимых функций / под ред. В.А. Козмидиади и
А.А. Мучника. М.: Мир, 1970.
285
СОДЕРЖАНИЕ
ЧАСТЬ I
1. Алгебра логики (алгебра высказываний)..................................... 3
§ 1.1. Введение........................................................................
3
§ 1.2. Операции над высказываниями........................................
5
§ 1.3. Формулы алгебры логики................................................
9
§ 1.4. Равносильные группы формул
и равносильные преобразования........................................ 11
§ 1.5. Практическое занятие № 1. Алгебра высказываний [5]......... 16
§ 1.6. Функции алгебры логики................................................. 19
§ 1.7. Разложение булевых функций по переменным.................... 21
§ 1.8. Дизъюнктивная и конъюнктивная нормальные формы........ 24
§ 1.9. Закон двойственности...................................................... 28
§ 1.10. Практическое занятие № 2.
Функции алгебры логики. Закон двойственности................ 30
§ 1.11. Минимизация булевых функций
в классе ДНФ [6] ............................................................. 32
§ 1.12. Проблема разрешимости................................................ 35
§ 1.13. Полиномы Жегалкина................................................... 38
§ 1.14. Полнота и замкнутость функций алгебры логики [7].......... 40
§ 1.15. Производные от булевых функций................................... 45
§ 1.16. k-значные логики.......................................................... 51
§ 1.17. Практическое занятие № 3.
Минимизация в классе дизъюнктивных нормальных форм.
Замкнутые классы и полнота систем функций алгебры логики.
k-значные логики............................................................ 59
§ 1.18. Схемы из функциональных элементов.
Релейно-контактные схемы, оценка сложности схем [8]....... 61
§ 1.19. Решение логических задач............................................. 69
§ 1.20. Практическое занятие № 4.
Реализация булевых функций схемами и формулами.
Решение логических задач............................................... 72
2. Исчисление высказываний....................................................... § 2.1. Язык, система аксиом и правила вывода
исчисления высказываний [8, 9, 10]..................................
§ 2.2. Некоторые дополнительные производные правила вывода....
§ 2.3. Теорема дедукции и другие законы
исчисления высказываний...............................................
§ 2.4. Практическое занятие № 5.
Исчисление высказываний: правила вывода
и доказуемость формул....................................................
§ 2.5. Монотонность и эквивалентность формул
исчисления высказываний...............................................
286
77
77
82
89
101
104
§ 2.6. Связь между формулами алгебры высказываний
и исчисления высказываний [11].......................................
§ 2.7. Некоторые алгоритмы проверки выводимости формул
в исчислении высказываний.............................................
§ 2.8. Проблемы аксиоматического исчисления высказываний......
§ 2.9. Практическое занятие № 6.
Эквивалентность формул исчисления высказываний
и теорема о выводимости.
Алгоритмы Квайна, редукций и резолюций........................
106
112
117
120
3. Логика предикатов.................................................................. § 3.1. Определение предикатов и логические операции над ними...
§ 3.2. Кванторные операции......................................................
§ 3.3. Формулы логики предикатов............................................
§ 3.4. Практическое занятие № 7.
Логические и кванторные операции над предикатами..........
§ 3.5. Равносильные формулы
логики предикатов..........................................................
§ 3.6. Предваренная нормальная форма.
Общезначимость и выполнимость формул логики
предикатов.....................................................................
§ 3.7. Практическое занятие № 8.
Выполнимость формул логики предикатов.........................
§ 3.8. Применение языка логики предикатов
для записи математических предложений [12, 13]...............
§ 3.9. Практическое занятие № 9.
Применение языка логики предикатов в математике...........
123
123
126
129
4. Исчисление предикатов............................................................ § 4.1. Синтаксис языка исчисления предикатов...........................
§ 4.2. Аксиомы и основные правила вывода................................
§ 4.3. Производные правила вывода в исчислении предикатов.......
§ 4.4. Некоторые теоремы исчисления предикатов.......................
§ 4.5. Эквивалентные формулы.................................................
§ 4.6. Дедуктивная эквивалентность..........................................
§ 4.7. Получение ∀ – формул. Скулемовские функции..................
§ 4.8. Унификация формул исчисления предикатов.....................
§ 4.9. Метод резолюций в исчислении предикатов [13]..................
§ 4.10. Практическое занятие № 10.
Унификация формул. Метод резолюций в исчислении
предикатов.....................................................................
§ 4.11. Некоторые проблемы аксиоматического
исчисления предикатов....................................................
155
155
156
160
162
167
170
171
174
177
132
134
137
142
143
151
183
185
ЧАСТЬ II
ОТВЕТЫ, РЕШЕНИЯ, УКАЗАНИЯ............................................... 188
1. Алгебра высказываний............................................................. 188
Ответы и решения задач практического занятия №1.................... 188
Ответы и решения практического занятия №2............................. 196
287
Ответы и решения практического занятия №3............................. 206
Ответы и решения практического занятия №4............................. 223
2. Исчисление высказываний....................................................... 233
Ответы и решения практического занятия №5............................. 233
Ответы и решения практического занятия №6............................. 244
3. Логика предикатов.................................................................. Ответы и решения практического занятия №7.............................
Ответы и решения практического занятия №8.............................
Ответы и решения практического занятия №9.............................
262
262
266
273
4. Исчисление предикатов............................................................ 280
Ответы и решения практического занятия №10........................... 280
Библиографический список.......................................................... 285
288
Документ
Категория
Без категории
Просмотров
7
Размер файла
4 842 Кб
Теги
shaporev
1/--страниц
Пожаловаться на содержимое документа