Используется доказательство методом от противного. Отрицание заключения принимается в качестве дополнительной посылки.
1. Все посылки и отрицания заключения привести к нормальной форме. Для этого используются следующие равносильности:
При необходимости применяются законы де Моргана:
.
2. Все полученные в 1–м пункте дизъюнкты записываются с новой строки (включая отрицание заключения). В результате получается последовательность формул или последовательность дизъюнктов.
3. В полученной последовательности находим любые две формулы, в одной из которых находится атом, а в другой отрицание атома. Положение атомов в формуле роли не играет. Эти две формулы соединяем с помощью правила резолюций и получаем новую формулу без этого атома.
4. Затем ищут следующую пару формул аналогичным образом, в одной из которых атом, а в другой отрицание, и соединяют эти две формулы с помощью правила резолюций и т.д.
Аналогичным образом продолжают до тех пор, пока не появится пустой дизъюнкт □, который и выражает противоречие.
Преимущества использования правила резолюций:
1) В этом методе используется лишь одно правило – это правило резолюций. Не надо запоминать многочисленные правила вывода и теоремы классического исчисления высказываний.
2) В процессе доказательства не надо использовать различные равносильности для проведения простых преобразований.
3) Метод прост в реализации.
Замечание. На основе этого правила разработан язык логического программирования – Пролог.
Пример. . Доказать выводимость.
1) ; ;
2) – гипотезы
Дизъюнкты: 1. ;
2. ;
3. ;
4. ;
5. ;
3) 6. (2, 4)
7. (3, 5)
8. (1, 6)
9 – ложь.
При практической реализации этого метода, несмотря на простоту метода доказательства, может возникнуть ряд проблем. Последовательность может содержать большое количество формул. Возникает проблема, какие формулы соединить с помощью правила резолюции и как быстрее достичь цели. Для решения этих проблем разработаны специальные методики поиска.
|
5. ЛОГИКА ПРЕДИКАТОВ
5.1. Определение предиката
Понятие предиката обобщает понятие высказывания, а логика предикатов представляет собой дальнейшее развитие логики высказываний.
Предикат – предложение, похожее на высказывание, но все же им не являющееся. Дадим определение предиката.
Определение 1. n – местным предикатом, заданным на множестве М 1´ М 2´…´ Мn называется выражение, содержащее n переменных x 1, х 2,..., хn, которое становится высказыванием при подстановке вместо этих переменных элементов а 1, а 2,..., аn, из множеств М 1, М 2,..., Мn соответственно.
Предикаты обозначаются как Р (х 1, х 2,..., хn) и представляют собой отображения Р: М 1´ М 2´…´ Мn {0,1}. То есть, упорядоченному набору элементов (а 1, а 2,..., аn) из множества М 1´…´ Мn ставится в соответствие один из элементов множества {0,1}, причем 0, если Р (а 1, а 2,..., аn) – ложное высказывание и 1, если истинное. Переменные х 1, х 2,..., хn называются предметными, а элементы из множеств М 1, М 2, …, Мn, которые эти переменные пробегают – конкретными предметами. Местностью предиката называется число различных аргументов, от которых зависит предикат. Предикат является функцией многих переменных.
Примеры
1. Предложение " х – четное число" представляет собой одноместный предикат, заданный на множестве целых чисел, то есть Р: Z ®{0, 1}. Областью определения предиката Р является множество целых чисел Z, областью значений – множество {0, 1}.
|
2. Отношения " х < у " и " х делится на у "представляют собой двуместные предикаты, заданные на множествах R ´ R и Z ´ Z соответственно.
Определение 2. Множеством истинности предиката Р (х 1, х 2,..., хn), заданного на множестве М 1´ М 2´…´ Мn, называется совокупность таких упорядоченных наборов элементов (а 1, а 2,..., аn) из М 1´ М 2´…´ Мn, для которых высказывание Р (а 1, а 2,..., аn) является истинным.
Обозначение: P + ={(а 1, а 2,..., аn): l (Р (а 1, а 2,..., аn)) =1}.
Примеры.
1. Множеством истинности двухместного предиката Р (х, у):" х делится на у ", заданного на множестве М ´ М,
где М = {1, 2, 3, 4, 5, 6}, является следующее множество Р+ = {(1,1), (2,1), (3,1), (4,1), (5,1), (6,1), (4, 2), (6, 2), (6,3)}.
2. Множество истинности двуместного предиката Р (х,y): " x < у ", заданного на множестве М 1´ М 2, где М 1 = {1, 2, 3}, М 2 = {2, 4, 6}, равно P+ = {(1,2), (1,4), (1,6), (2,4), (2,6), (3,4), (3,6)}.
Определение 3. Два предиката Р (х 1, х 2,..., хn) и Q (х 1, х 2,..., хn), заданные на одном и том же множестве М 1´ М 2´…´ Мn, называются равносильными, если оба предиката принимают истинные значения на одних и тех же наборах (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn, то есть, если Р+= Q+. Предикат Q (х 1, х 2,..., хn), заданный на множестве М 1´ М 2´…´ Мn называется следствием предиката Р (х 1, х 2,..., хn), заданного на том же множестве, если он становится истинным высказыванием при всех значениях переменных х 1, х 2,..., хn из соответствующих множеств М 1, М 2,..., Мn, при которых истинным высказыванием становится предикат Р (х 1, х 2,..., хn), то есть, если .
|
5.2. Логические операции над предикатами
Определение 4. Отрицанием предиката Р (х 1, х 2,..., хn), заданного на множестве М 1´ М 2´…´ Мn, называется новый предикат (х 1, х 2,..., хn), заданный на том же множестве, который становится истинным высказыванием при таких значениях (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn, при которых Р (а 1, а 2,..., аn) является ложным высказыванием и становится ложным высказыванием, если Р (а 1, а 2,..., аn) является истинным высказыванием.
Например, отрицанием одноместного предиката Р(х): " х делится на 3", заданного на множестве М = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} будет предикат : " х не делится на 3". Множествами истинности предикатов Р и являются следующие множества Р+ = {0, 3, 6, 9}, ()+ = {1, 2, 4, 5, 7, 8}.
Множество истинности предиката является дополнением множества Р+ ,то есть (M – область определения предиката).
Определение 5. Конъюнкцией двух n –местных предикатов Р (х 1, х 2,..., хn) и Q (х 1, х 2,..., хn), заданных на множестве М 1´ М 2´…´ Мn, называется новый n –местный предикат Р (х 1, х 2,..., хn) Q (х 1, х 2,..., хn), который становится истинным высказыванием только для таких элементов (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn, для которых Р (а 1, а 2,..., аn) и Q (а 1, а 2,..., аn) являются истинными высказываниями.
Определение 6. Дизъюнкцией двух n –местных предикатов Р (х 1, х 2,..., хn) и Q (х 1, х 2,..., хn), заданных на множестве М 1´ М 2´…´ Мn, называется новый n –местный предикат Р (х 1, х 2,..., хn) Ú Q (х 1, х 2,..., хn), который становится ложным высказыванием только для таких элементов (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn, для которых Р (а 1, а 2,..., аn) и Q (а 1, а 2,..., аn) являются ложными высказываниями.
Определение 7. Импликацией двух n –местных предикатов Р (х 1, х 2,..., хn) и Q (х 1, х 2,..., хn), заданных на множестве М 1´ М 2´…´ Мn, называется новый n –местный предикат Р (х 1, х 2,..., хn) Q (х 1, х 2,..., хn), который становится ложным высказыванием только для таких элементов (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn, для которых Р (а 1, а 2,..., аn) является истинным высказыванием, а Q (а 1, а 2,..., аn) является ложным. В остальных случаях – истинным.
Определение 8. Эквивалентностью двух n –местных предикатов Р (х 1, х 2,..., хn) и Q (х 1, х 2,..., хn), заданных на множестве М 1´ М 2´…´ Мn, называется новый n –местный предикат Р (х 1, х 2,..., хn) Q (х 1, х 2,..., хn), который становится истинным высказыванием только для таких элементов (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn, для которых высказывания Р (а 1, а 2,..., аn) и Q (а 1, а 2,..., аn) либо одновременно являются истинными, либо ложными. В остальных случаях – ложным.
Если предикаты Р (х 1, х 2,..., хn) и Q (y 1, y 2,..., ym) заданы на разных множествах, то в результате применения операций конъюнкции, дизъюнкции, импликации и эквивалентности к этим предикатам, получим (n + m – k)–местный предикат, где k – число переменных, общих для обоих предикатов.
Кванторные операции
Кроме операций отрицания, конъюнкции, дизъюнкции, импликации и эквивалентности в логике предикатов имеются две кванторные операции: квантор всеобщности () и существования (). Если Р(х) одноместный предикат, заданный на некотором множестве М, то в результате применения кванторов к предикату Р(х) получим новые предикаты P (x) и Р (х), означающие соответственно "все х из М обладают свойством Р "и "некоторые х из М обладают свойством Р ".
Пример 1. Пусть Р(х) одноместный предикат " х делится на 7", заданный на множестве целых чисел Z. Применяя к этому предикату кванторы получим следующие предикаты: "все х из Z делятся на число 7" и "существуют х из Z, которые делятся на число 7". То есть, в результате применения кванторов () и () к одноместному предикату Р (х)получили высказывания, причем первое из них ложное, а второе – истинное. Высказывания являются нульместными предикатами.
Применение кванторов к предикатам понижает местность исходного предиката на единицу. Если Р (х 1, х 2,..., хn) n –местный предикат, то в результате применения кванторов получим новые предикаты Q (х 2,..., хn)= Р (х 1, х 2,..., хn), R (х 2,..., хn)= Р (х 1, х 2,..., хn), которые зависят только от переменных х 2, х 2,..., хn,то есть являются (n – 1)–местными предикатами.
Предметная переменная, которая связывается квантором, то есть входит в предикат и в квантор, называется связанной. Предметная переменная, не связанная никаким квантором, называется свободной переменной.
Пример 2. Пусть Р (х, y)двухместный предикат, заданный неравенством " х 2 + у 2 1" на множестве R ´ R. Множеством истинности предиката Р (х, y)является множество всех точек координатной плоскости, расположенных внутри окружности радиуса 1, включая точки окружности. Найдем множества истинности предикатов Q (y)= x P (x, y), R (x)= у Р (х, у), S = x y P (x, y). Множеством истинности предиката Q (y)является множество таких у, для которых данное неравенство выполняется при любых х из R. Однако таких у не существует. Следовательно, множество истинности предиката Q не содержит ни одного элемента, то есть Q+ = Æ. Множеству истинности предиката R (x)принадлежат все такие х, для которых можно найти число у, удовлетворяющее данному неравенству. Такие значения х лежат в промежутке [–1, 1]. Следовательно, этот промежуток и будет множеством истинности предиката R. Предикат S – нульместный, то есть является высказыванием. В высказывании S говорится, что для любых х можно найти такое у, для которой выполняется данное неравенство. Однако это не верно. Например, для х,лежащих вне отрезка [–1, 1], такое у не существует. Тогда S – ложное высказывание.
5.3. Теоретико–множественный смысл предикатов
При определении множества истинности предиката, составленного из нескольких предикатов при помощи логических связок, можно воспользоваться соотношениями для их множеств истинности. Для двух n –местных предикатов Р (х 1, х 2,..., хn) и Q (х 1, х 2,..., хn) заданных на множестве М 1´ М 2´…´ Мn, верны следующие соотношения для их множеств истинности:
1) множество истинности отрицания предиката Р равно дополнению множества истинности этого предиката, то есть ;
2)множество истинности конъюнкции двух предикатов Р и Q равно пересечению множеств истинности Р+ и Q+, то есть ;
3) множество истинности дизъюнкции двух предикатов Р и Q равно объединению множеств истинности Р+ и Q+, то есть ;
4) множество истинности импликации двух предикатов Р и Q равно ;
5) множество истинности эквивалентности двух предикатов Р и Q равно .
Пример. Пусть предикаты Р (х):" х кратно двум" и Q (x): " х кратно трем", заданы на множестве М = {1, 2, 3, 4, 5, 6, 7, 8}. Их множествами истинности являются следующие множества: Р+ = {2, 4, 6, 8}, Q+ = {3, 6}. Тогда, по соотношениям (1)–(5) получим
а) {1, 3, 5, 7}, {l, 2, 4, 5, 7, 8};
б) {3, 6} = {6};
в) = {2, 4, 6, 8} {3,6}= {2, 3, 4, 6, 8};
г) ={1, 3, 5, 7} {3,6} ={1, 3, 5, 6, 7};
д) ={1, 3, 5, 6, 7} {1, 2, 4, 5, 6, 7, 8}= {1,5,6,7}.
5.4. Классификация предикатов
Определение 9. Предикат Р (х 1, х 2,... х n), заданный на множестве М 1´ М 2´…´ Мn, называется тождественно истинным, если для всех элементов (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn высказывания Р (а 1, а 2,..., аn) будут истинными и тождественно ложным, если для всех элементов (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn, высказывания Р (а 1, а 2,..., аn) будут ложными. Предикат Р (х 1, х 2,... х n), заданный на множестве М 1´ М 2´…´ Мn, называется выполнимым, если существует хотя бы один элемент (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn, для которого высказывание Р (а 1, а 2,..., аn) будет истинным и опровержимым, если хотя бы для одного элемента (а 1, а 2,..., аn) из множества М 1´ М 2´…´ Мn высказывание Р (а 1, а 2,..., аn) будет ложным.
В соответствии с классификацией предикатов истинность нульместных предикатов, содержащих кванторы, можно определить следующим образом. Высказывание " x P (x) будет истинным, если предикат Р (х)является тождественно истинным предикатом. В противном случае – ложным. Высказывание $ х Р (х) будет истинным, если предикат Р (х) – является выполнимым и будет ложным в противном случае.
5.5. Формулы логики предикатов.
Равносильность формул
Определение формулы логики предикатов имеет индуктивный характер. Сначала задается алфавит символов, из которых составляются формулы:
– предметные переменные: х, у, z, xi, yi, zi ();
– нульместные предикатные переменные: Р, Q, R, Рi, Qi, Ri,
(i N);
– n –местные () предикатные переменные: Р (,...,), Q (,...,), R (,...,), Рi (,...,), Qi (,...,), Ri (,...,) (i N) с указанием числа свободных мест в них;
– символы логических операций: ;
– кванторы: ", $;
– вспомогательные символы: (,) – скобки;, – запятая.
Определение 10. (формулы логики предикатов).
1. Каждая нульместная предикатная переменная есть формула.
2. Любой n –местный предикат Р (х 1, х 2,..., хn) есть формула.
3. Если F, G – формулы, не содержащие предметных переменных, которые связаны квантором в одной формуле и свободны в другой, то выражения (), (F Ù G), (F Ú G), (F ® G), (F «G) также являются формулами.
4. Если F формула, а х – предметная переменная, входящая свободно в F, то выражения " x F (x) и $ x F (x) также являются формулами.
5. Никаких других формул в логике предикатов нет.
Формулы, в которых нет свободных переменных, называются замкнутыми, а формулы, содержащие свободные переменные, – открытыми.
Из определения формулы логики предикатов следует, что все формулы алгебры высказываний являются также формулами логики предикатов.
Определение 11. Две формулы F и G называются равносильными, если при подстановке в эти формулы вместо предикатных переменных конкретных предикатов, а вместо предметных переменных конкретных элементов, эти формулы преобразуются в высказывания с одинаковыми логическими значениями, то есть либо оба в истинные высказывания, либо оба в ложные.
Все основные равносильности логики высказываний верны также и для формул логики предикатов. Кроме них, в логике предикатов имеются равносильности, связанные с кванторами:
1. Законы отрицания: , .
2. Законы дистрибутивности:
;
.
3. Если предикат Q не зависит от переменной х, то верны следующие законы:
, ;
, .
4. Законы переименования связанных переменных:
, .
5. Законы перестановки кванторов:
, .
5.6. Классификация формул логики предикатов
Определение 12. Формула F логики предикатов называется выполнимой (опровержимой) на множестве М, если можно найти такие конкретные предикаты, заданные на том же множестве, при подстановке которых вместо предикатных переменных, она преобразуется в выполнимый (опровержимый) предикат. Формула логики предикатов называется тождественно истинной (тождественно ложной) на множестве М, если при подстановке вместо предикатных переменных любых конкретных предикатов, заданных на этом же множестве, она преобразуется в тождественно истинный (тождественно ложный) предикат. Формула логики предикатов называется тавтологией (противоречием), если при подстановке вместо предикатных переменных любых конкретных предикатов, заданных на любом множестве, она преобразуется в тождественно истинный (тождественно ложный) предикат.
Критерием равносильности формул F и G является тавтологичность формулы (F «G).
Пример 1. Вычислить значение формулы , если предикат имеет значение – «число x меньше числа y » и определен на множестве , N = .
Так как при указанном значении предиката высказывание означает утверждение, что «для любого натурального числа x найдется натуральное число y, большее числа x », то это высказывание истинно. Высказывание означает утверждение, что «существует натуральное число x, которое меньше любого натурального числа y ». Это высказывание ложно. Поэтому получаем, что исходная формула ложна.
Пример 2. Доказать, что формула выполнима.
Для доказательства выполнимости формулы A достаточно найти область определения двухместного предиката и такое его значение, что в этой области формула принимает истинные значения. Такой областью определения предиката, в частности, будет множество . Действительно, если - предикат «y< x », то формула A тождественно истинна в области М, и, следовательно, выполнима в этой области. Однако, если в качестве предиката взять предикат «x< y », то формула A будет тождественно ложной в области М и, следовательно, невыполнимой в области М. При этом ясно, что формула A не общезначима.
Пример 3. Доказать, что формула является общезначимой.
Считая, что формула A определена на любой области M, проведем равносильные преобразования:
.
То есть формула A тождественно истинна для любых одноместных предикатов и и в любой области.
Пример 4. Доказать, что формула тождественно ложна.
Так как формула , а формула , очевидно, тождественно ложна, то ложна и формула A.
Определение 13. Формула F', равносильная F, называется ее приведенной формой, если F' из логических связок содержит только отрицание, конъюнкцию и дизъюнкцию, а отрицание относится только к предикатным переменным и к высказываниям. Предваренной нормальной формой (ПНФ) формулы F называется такая ее приведенная форма, в которой все кванторы вынесены в начало формулы, а область действия каждого квантора распространяется до конца формулы.
ПНФ – это формула вида , где – один из кванторов " или $ (), а формула F не содержит кванторов и является приведенной формой.
Для формул логики предикатов справедлива следующая теорема.
Теорема. Для каждой формулы логики предикатов существует равносильная ей ПНФ.
Предваренные нормальные формы формул в логике предикатов используются для выяснения равносильности формул и для решения проблемы классификации формул.
Одной из задач классификации формул является проблема разрешимости, которая состоит в следующем. Необходимо найти алгоритм, при помощи которого для произвольной формулы логики предикатов можно определить, будет она тавтологией или нет. В отличие от алгебры высказываний, для формул логики предикатов общего алгоритма не существует. Это было доказано в 1936 году американским математиком А. Чёрчем. Несмотря на отсутствие алгоритма в общем случае, в некоторых частных случаях такой алгоритм существует. Например, для формул, содержащих только одноместные предикаты.
6. ИСЧИСЛЕНИЕ ПРЕДИКАТОВ (ИП)
Понятие формулы в ИП вводится так же, как оно вводилось в логике предикатов.
Аксиоматическая теория начинается с выбора системы аксиом. Как и в случае высказываний, этот выбор может быть осуществлен по-разному. Одной из таких систем аксиом может служить система, состоящая из трех аксиом рассмотренного выше формализованного исчисления высказываний и двух дополнительных аксиом (схем аксиом):
(P1) ;
(P2) ,
где формула t не содержит свободной переменной x.
К правилу вывода modus pones (MP) добавляются еще два правила вывода:
– правило введения квантора общности ("–правило); | |
– правило введения квантора существования ($– правило), |
где х не входит свободно в формулу F.
Понятия вывода и теоремы определяются аналогично соответствующим понятиям исчисления высказываний.
Возможны и другие системы аксиом и правил вывода.
Рассмотрим пример вывода в исчислении предикатов.
Пример. Доказать, что
.
Решение. Построим вывод второй формулы из первой:
7. ЗАДАЧИ
ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
Задача 1
Решить системы логических уравнений:
1. а) б)
2. а) б)
3. а) б)
4. а) б)
5. а) б)
6. а) б)
7. а) б)
8. а) б)
9. а) б)
10. а) б)
11. а) б)
12. а) б)
13. а) б)
14. а) б)
15. а) б)
16. а) б)
17. а) б)
18. а) б)
19. а) б)
20. а) б)
21. а) б)
22. а) б)
23. а) б)
24. а) б)
25. а) б)
Пример. Решить систему логических уравнений:
Решение: Первый способ. Решаем первое уравнение системы. Отыскав все решения первого уравнения, выбираем из них те, которые удовлетворяют второму уравнению.
.
Отсюда решениями первого уравнения будут
1) а = 0, b = 0, c = 0; 2) а = 0, b = 0, c = 1;
3) а = 0, b = 1, c = 0; 4) а = 0, b = 1, c = 1;
5) а = 1, b = 1, c = 1.
Подставив найденные решения во второе уравнение, найдем решение системы
1) 0 Ú 0 «0 = 1 ¹ 0; 2) 0 Ú 0 «1 = 0 = 0;
3) 0 Ú 1 «0 = 0 = 0; 4) 0 Ú 1 «1 = 1 ¹ 0;
5) 1 Ú 1 «1 = 1 ¹ 0.
Таким образом, решениями системы будут второе и третье решения первого уравнения, то есть
а = 0, b = 0, c = 1; а = 0, b = 1, c = 0.
Второй способ. Строим таблицы истинности для левых частей первого и второго уравнений и подчеркиваем строки, в которых их значения совпадают с соответствующими значениями правых частей уравнений.