Математическая логика. Что значит решить задачу? Что значить доказать теорему? Математическая (символическая) логика как научная дисциплина возникла на базе традиционной формальной логике и первое время развивалась в связи со стремлением формализовать некоторые стороны интеллектуальной деятельности человека. Дальнейшее ее развитие было в сильной степени подчинено задаче создания логических основ математики. Логика выполняет важное значение: она говорит нам, из чего что следует. Примером использование логике может служить изложение геометрии в «Началах» Евклида, где с помощью логике теоремы следуют из аксиом. Математическая логика уже давно стала мощным средством научных исследований, хотя долгое время область ее применения ограничивалась чисто теоретическими исследованиями. И это не смотря на то, что ещё в 1910 г. П. Эренфест обратил внимание возможность применения математической логике для описания работы таких технических устройств, как релейно-контактные схемы. Оказалось, что не только релейноконтактные схемы, но и многие другие устройства дискретного действия нуждаются для их описания в привлечение аппарата математической логике. В последнее время прикладное значение математической логике особенно возросло в связи с созданием и эксплуатацией цифровых вычислительных машин. Тема I. Алгебра высказываний. §1. Логические операции и их свойства. Алгебра высказываний, представляющее собой учение о высказываниях, является простейшей из всех логических теорий. Будем рассматривать множество Ψ всевозможных высказываний, каждое из которых может быть истинным или ложным. При этом одно и тоже высказывание не может быть одновременно и истинным, и ложным. Нас не будет интересовать содержание и структура высказываний, а только их истинность или ложность. Таким образом, высказывание можно рассматривать как величину, принимающее два значения: истина (и) и ложно (л). Например, 3>5-ложь, 3<5-истинна. Высказывания обозначим большими латинскими буквами A,B,...X,Y,Z, а их значения, т.е. истину или ложь – И и Л. Рассматривая высказывания как величины, принимающие значение Ии Л, можно определить над ними операции, которые позволяют получать другие более сложные высказывания. 1. Операция конъюнкция (&) заключаются в том, что AΛB истинно, т. и т.т., когда истинны оба составляющих высказывания. Эта операция A B AB соответствует союзу «и» в русском языке. Её называют иногда Л Л Л логическим умножением, и знак конъюнкции часто отпускается, т.е. Л И Л A B=AB. Для каждой логической операции можно построить таблицу И Л Л истинности, которая сопоставляет всем возможным комбинациям И И И значений составляющих высказываний - результат операции. 2. Операция дизъюнкция ( ) определяется следующим образом. A B истинно, т. и т.т., когда истинно хотя бы одно из составляющих высказываний. A B A B Дизъюнкция соответствует союзу «или» в русском языке и Л Л Л называется часто логическим сложением. Л И И И Л И И И И 1 3. Импликация A B определяется следующим образом. A B ложно т. и т. т., когда Аистинно, а B- ложно. При этом А называется посылкой, а ВA B A B следствием. Л Л И Импликация соответствует союзу «если, то». При этом если Л И И ложно А, то импликация истинна независимо от В. Это можно И Л Л сформулировать как «из ложного следует все, что угодно». И И И Если из ложной посылки, мы приходим к ложному результату, то эта ситуация истинна. Однако из ложной посылки можно придти и к истинному результату. 4. Операция инверсии (отрицание) Ā означает, что А истинно т. и т. т., когда Ā ложно. A Л И Ā И Л 5. Операция эквиваленции А~В определяется так: А~В истинно т. и т. т., когда А и В или оба истинны или оба ложны. A B А~В Л Л И И Л И Л И И Л Л И Таким образом, при помощи введенных операций можно строить более сложные высказывания, которые тоже принимают два значения И или Л. Пример. _________ X V (YΛZ) X Л Л Л Л И И И И Y Л Л И И Л Л И И Z Л И Л И Л И Л И И И И Л Л Л Л Л Опр. Всякое сложное высказывание, составленное из некоторых исходных высказываний с помощью операций , , , ~, - называется формулой алгебры высказываний. Исходные высказывания при этом могут быть постоянными И, Л или могут не иметь постоянного значения: А, В. В первом случае они называются постоянными элементарными высказываниями, во втором – переменными элементарными высказываниями. Если всем переменным элементарным высказываниям присвоить значения И или Л, то сама формула сразу же приобретает некоторое значение. Можно сказать, что любая формула определяет некоторую функцию, аргументами которой являются переменные элементарные высказывания. Опр. Две формулы U(x1...xn) и W(x1...xn) называются равносильными, если при любых значениях переменных эти формулы принимают одинаковые значения(совпадают таблицы истинности). Например: Х, Х Х, X ХY равносильные формулы. 2 При этом необязательно, чтобы обе формулы содержали одни и те же переменные. Но если одна формула содержит некоторую переменную, а вторая нет, то при равносильности формул, первая из них не зависит от этой переменой. Между понятием равносильности и знаком эквивалентности существует следующая связь: если формулы U и W равносильны, то формула U~W имеет значение И при всех значениях переменных и обратно: если U~W принимает значения И при всех значениях переменных, то U и W равносильны. В дальнейшем отношение равносильности будем обозначать знаком равно. §2. Основные свойства логических операций 1) Коммутативность X Y=Y X X Y=Y X или XY=YX 2) Ассоциативность X Y Z=X (Y Z) X Y Z=X (Y Z) 3) Дистрибутивность X (Y Z)=(X Y) (X Z) (первый дистрибутивный закон) X (Y Z)=(X Y) (X Z) (второй дистрибутивный закон) 4) Формулы Де-Моргана _____ _ _ X Y= X Y _____ _ _ X Y= X Y 5) Свойство «нуля» X Л=Х Х Л=Л 6) Свойство «единицы» Х И=И Х И=Х 7) Идемпотентность Х X=X X X=X 8) Инволюция (закон двойного отрицания) X =X 9) Закон исключения третьего Х X =И Закон противоречия Х X =Л 10) Закон поглощения Х XY=X X (X Y)=X 11) Закон склеивания (X Y)( X Y)=Y XY X Y=Y Замечание. 1) Логические операции не являются не зависимыми, а именно ,~, можно выразить через , ,− и наоборот. С помощью таблицы истинности можно показать, что X Y ( X Y ) (Y X ) X Y X Y 3 Тогда X Y ( X Y )( X Y ) XY X Y 2) С помощью формул Де-Моргана можно выразить V через , −, а через , −: X Y = X Y , т.е. XY= X Y и аналогично X Y= X Y Таким образом, любую формулу можно записать через конъюнкцию и отрицание или через дизъюнкцию и отрицание. 3) Если некоторая формула содержит только операции , , −, то с помощью свойств 4,8 её можно преобразовать к такому виду, что знаки отрицания будут относиться только к элементарным высказываниям. Действительно, если X Y , то это равносильно X Y . Аналогично X Y = X Y , X =X. Таким образом, любая формула алгебры высказываний может быть приведена к виду, содержащему , , −, причем знак − относиться только к элементарным высказываниям. Например. ( X Y ) Z ( X Y ) Z ( X Y )Z Часто в формулах скобки опускаются, считая, что порядок выполнения операций следующий −, , , а затем , ~. Принцип двойственности. 1) Пусть формулы U(x1...xn) и W(x1...xn) приведены к виду, содержащему только , , −. 2) Операция называется двойственной операции и наоборот. Формулы U(x1...xn) и W(x1...xn) называются двойственными, если одна получается из другой заменой каждой операции на двойственную. 3) Например, X Y (X Y Z ) двойственна к XY X( Y Z ). Отношение двойственности взаимно: если W двойственно W*, то W* двойственно W. 4) Используя формулы Де-Моргана можно показать, что если W(x1...xn) и W*(x1...xn) двойственны, то W (x1...xn) = W*( x1 ... x n) 5) Из этого соотношения вытекает закон двойственности: если равносильны формулы U(x1...xn) и W(x1...xn), то равносильны и двойственные им формулы. Действительно, Пусть U(x1...xn) = W(x1...xn) Тогда W* (x1...xn) = W ( x1 ... x n) Так как то U* (x1...xn) = U ( x1 ... x n) W(x1...xn) = U(x1...xn) W( x1 ... x n) = U( x1 ... x n) и Тогда W ( x1 ... x n)= U ( x1 ... x n) W* (x1...xn)= U* (x1...xn) §3. Проблема разрешения Будем называть формулу тождественно истинной (тождественно ложной), если при всех значениях входящих в неё переменных высказываний она принимает значения И(Л). Отрицание тождественно истинной формулы является тождественно ложной и наоборот. Например, тождественно истинные формулы: x x , x ( y x) , x ( x y ) y , а тождественно ложные: x x , x ( y x) . Формула называется выполнимой, если она не является ни тождественно истинной, ни тождественно ложной. Например, выполнимые формулы: x , x y , x y . Проблема разрешения заключается в том, чтобы сформулировать такое правило, которое позволяло бы определить для произвольной формулы выполнима она или нет. При этом 4 очевидно достаточно уметь определять только тождественную истинность произвольной формулы. Действительно, если мы имеем возможность определить тождественную истинность любой формулы, то установить, что W и W не являются тождественно истинными, мы тем самым установим её выполнимость. Проблема разрешения в алгебре высказываний может быть легко решена. Действительно, построить таблицу истинности для произвольной формулы, мы можем выяснить её выполнимость. Однако при этом нужно рассмотреть формулу, содержащею n переменных на всех 2n комбинациях значений этих переменных. При больших n эта задача является практически не разрешима. Гораздо проще эта задача решается с помощью нормальных форм. §4. Нормальные формы. Элементарным произведением(элементарной суммой) называется произведение (сумма) переменных и их отрицаний. Теорема 1. Что бы элементарная сумма была тождественно истинной, необходимо и достаточно, чтобы она содержала хотя бы пару слагаемых, из которых одно есть некоторая переменная, а другое- её отрицание. Доказательство. I. Необходимость. Пусть элементарная сумма тождественно истина, но она не содержит такой пары слагаемых, из которых одно является отрицанием другого. Присвоим каждой переменной под знаком отрицания значение И, а каждой переменной без знака отрицания значение Л. Это можно сделать, поскольку ни одна переменная не входит в сумму вместе со своим отрицанием. Но тогда вся сумма принимает значение Л и, следовательно, не является тождественно истинной. Получили противоречие. II. Достаточность. Пусть элементарная сумма содержит два слагаемых, из которых одно является отрицанием другого, например, x и x , т. е. сумма имеет вид: x x y z ... Но тогда сумма x x тождественно истинна и независимо от значения остальных слагаемых вся сумма тождественно истинна. Аналогично доказывается теорема 2. Теорема 2. (Доказать самостоятельно) Чтобы элементарное произведение было тождественно ложным, необходимо и достаточно, чтобы оно содержало хотя бы пару таких сомножителей, из которых одно является отрицанием другого. Назовём дизъюнктивной нормальной формой (ДНФ) данной формулы, равносильную ей формулу, представляющую собой сумму элементарных произведений. Очевидно, что любая формула алгебры высказываний имеет ДНФ. Это так к. мы показали, что любую формулу можно представить в виде, содержащем ,, где знак − относился бы только к элементарным высказываниям. Но с формулами, составленными с помощью операций ,, можно поступать как с алгебраическими выражениями, т. е. раскрыть все скобки и представить формулу в виде суммы элементарных произведений, т. е. в виде ДНФ. Пример. Найдем ДНФ для формулы: x( yz )(u v) x( y z )(u v) xyu xyv x zu x zv. Конъюнктивной нормальной формой (КНФ) данной формулы называется, равносильная ей формула, представляющая собой произведение элементарных сумм. Легко показать, что КНФ тоже существует для любой формулы алгебры высказываний. Действительно, пусть W произвольная формула, а W*- двойственная ей. W* имеет свою ДНФ. Обозначим эту ДНФ V*. Так как W*= V*, то по закону двойственности W=V. Но поскольку V* есть сумма элементарных произведений, двойственная ей V есть произведение элементарных сумм, или КНФ формулы W. Пример. 5 Найти ДНФ и КНФ для формулы: x y ~ xy x yxy ( x y) xy x yxy ( x y)( x y) ( x y )( x y) x y x y КНФ ДНФ Очевидно, что для каждой формулы ДНФ и КНФ определяются неоднозначно, т. е. может существовать несколько ДНФ и несколько КНФ. При этом все они отличаются только по виду и являются равносильными. Пользуясь нормальными формами можно указать более простое решение проблемы разрешения, чем способ непосредственной проверки. Пусть формула W тождественно истинна. Её КНФ имеет вид произведения W1,…Wn, где каждый множитель есть элементарная сумма. Так как W- тождественна истинна, то все Wi(i= 1, n ) тоже тождественно истинные формулы. Но Wi –элементарная сумма и в соответствие с теоремой 1 она является тождественной истинной т. ит. т., когда содержит некоторую переменную вместе с её отрицанием. Отсюда получаем следующий критерий тождественной истинности формулы: Для того, чтобы формула была тождественно истинной, необходимо и достаточно, чтобы каждый множитель её КНФ имел по крайней мере два слагаемых, из которых один является отрицанием другого. Аналогичным образом, легко установить критерий тождественной ложности формулы: Для того, чтобы формула была тождественно истинной, необходимо и достаточно, чтобы каждый слагаемое её ДНФ содержало хотя бы два таких множителя, из которых один является отрицанием другого. Эти критерии дают полное решение проблемы разрешения. Пример. Выяснить является ли формула выполнимой: x x yz x y ( x x x)( x y x)( x z x)( x x y )( x y y )( x z y ) ( x y )( x z )( x y z ) Сама формула есть ДНФ и видно, что она не является тождественно ложной. КНФ формулы показывает, что она не является тождественно истиной. Следовательно, формула выполнима. §5. Представление произвольной двузначной функции в виде формулы высказываний. Пусть F ( x1 ...x n ) – произвольная функция n переменных, причем и переменные и сама функция принимает только 2 значения И и Л. Покажем, что такую функцию можно представить в виде формулы алгебры высказываний следующим образом: F ( x1 ...x n ) F ( И ...И ) x1 ...x n F ( И ...И , Л ) x1 ...xn1 х n F ( И ...И , Л , И ) x1 ...x n2 х n1 x n ... F ( Л ...Л ) x1 ...x n (*) С этой целью выберем произвольный набор значений переменных, например, x1 И ,...хn2 И , хn1 Л ,.хn И и рассмотрим обе части выражения (*) на этом наборе. В левой части имеем F ( И ...И , Л , И ) . В правой части слагаемое F ( И ...И , Л , И ) x1 ...хn1 хn принимает вид F ( И ...И , Л , И ) И F ( И ...И , Л , И ) . Все остальные слагаемые правой части ложны, т.к. содержат либо И под знаком отрицания, либо Л без знака отрицания, т.е. выражение (*) выполняется тождественно. Следствие. Представление (*) справедливо и для функции F ( x1 ...x n ) : F ( x1 ...x n ) F ( И ...И ) x1 ...x n F ( И ...И , Л ) x1 ...x n 1 х n ... F ( Л ...Л ) x1 ...x n Тогда отрицание этого выражения после преобразования с помощью формул де Моргана дает: F ( x1 ...x n ) F ( И ...И ) x1 ...x n F ( И ...И , Л ) x1 ...x n 1 х n ... F ( Л ...Л ) x1 ...x n ( F ( И ...И ) x1 ... x n )( F ( И ...И , Л ) x1 ... x n 1 х n )...( F ( Л ...Л ) x1 ... x n ) 6 Отсюда получаем еще одно представление функции: F ( x1 ...x n ) ( F ( И ...И ) x1 ... x n )( F ( И ...И , Л ) x1 ... x n 1 хn )...( F ( Л ...Л ) x1 ... xn ) (**) Замечание. Формулы (*) и (**) можно преобразовать к такому виду, когда они содержат только переменные элементарные высказывания. Пусть F ( x1 ...x n ) не является тождественно ложной. В таком случае при некоторых значениях переменных она принимает значение И. В представлении нашей функции посредством формулы (*) значение И могут иметь только те слагаемые, у которых первый множитель имеет значение И. Остальные слагаемые ложны и могут быть удалены из суммы. После удаления ложных слагаемых в каждом из оставшихся слагаемых первый множитель имеет значение И, т.е. может быть удален из произведения. В результате мы получаем формулу, равносильную (*) и содержащую только переменные элементарные высказывания. Эта формула имеет вид ДНФ и однозначно соответствует данной функции. Аналогично, функция не являющаяся тождественно истинной, может быть представлена в виде КНФ, однозначно получающейся из представления (**). Примеры. 1) Пусть F ( x1 x 2 x3 ) И , если х1 х 2 х3 Л , в противном случае. F ( x1 x2 x3 ) x1 x2 x3 x1 x2 x3 F ( x1 x2 x3 ) ( x1 x2 x3 )( x1 x2 x3 )( x1 x2 x3 )( x1 x2 x3 )( x1 x2 x3 )( x1 x2 x3 ) 2) х1 х2 х3 F Л Л Л Л F ( x1 x2 x3 ) x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x 2 x3 Л Л И И Л И Л И F ( x1 x2 x3 ) ( x1 x2 x3 )( x1 x 2 x3 )( x1 x 2 x3 )( x1 x2 x3 ) Л И И И И Л Л Л И Л И Л И И Л И И И И Л §6. Совершенные нормальные формы. Как известно одна и та же формула может иметь несколько равносильных ДНФ. Однако с помощью (*) некоторая ДНФ, равносильная функции, может быть получена однозначно. Эта ДНФ называется совершенной (СДНФ). СДНФ формулы называется ДНФ, обладающая следующими свойствами: a) в ней нет двух одинаковых слагаемых. b) ни одно слагаемое не содержит двух одинаковых множителей. c) никакое слагаемое не содержит переменной вместе с ее отрицанием. d) в каждом слагаемом содержится в качестве множителя каждая переменная или ее отрицание. Условия a – d являются необходимыми и достаточными, чтобы ДНФ была совершенной. На основе этих условий можно сформулировать процедуру получения СДНФ Пусть имеется некоторая формула. Для нее получается любая ДНФ. Если некоторое слагаемое v этой ДНФ не содержит одной из переменных, например xi , то это слагаемое заменяется следующим образом: v vxi v xi После этого из полученного выражения удаляются все совпадающие слагаемые, кроме одного, а также все слагаемые, содержащие xi xi , являющиеся тождественно ложными. Если в 7 некотором слагаемом есть одинаковые множители, то они удаляются все, кроме одного. Полученная в итоге форма есть СДНФ. Заметим, что если исходная формула является тождественно ложной то все слагаемые ее содержат xi xi и такая формула не имеет СДНФ. Аналогичным образом определяется СКНФ. СКНФ формулы называется КНФ, удовлетворяющая следующим условиям: a) в ней нет двух одинаковых множителей. b) ни один множитель не содержит двух одинаковых слагаемых c) ни один множитель не содержит переменной вместе с её отрицанием. d) каждый множитель содержит каждую переменную или её отрицание. Можно показать, что каждая не тождественно истинная формула имеет единственную СКНФ. Правила приведения произвольной формулы к СКНФ аналогичны тем, которые приведены для СДНФ, но выражаются в двойственных терминах. В частности, если некоторый множитель V КНФ не содержит ни переменной xi ни xi , то его можно заменить произведением: v (v xi )(v xi ) Это преобразование равносильное, т. к. (v xi )(v xi ) v v( xi xi ) xi xi v С помощью совершенных форм можно сформулировать следующий критерий равносильности формул: две формулы равносильны, если у них совпадают СДНФ или СКНФ. Это следует из единственности СДНФ и СКНФ формулы. Пример. 1. x y ( x y ) x xy y y x xy xy x y xy xy x y x xy ( x x)( x y ) ( x y )( y x)( x y ) ( x y )( x y ) СКНФ 2. ( x y )( y z ) ( x y )( y z ) x y xz xy xz yz yz x yz x y z xyz x yz xyz xy z x yz x yz xyz x yz xyz x yz x yz xy z x y z x yz СДНФ 8