Логика предикатов. Рассмотренной нами алгебре высказываний оказывается недостаточно даже для изучения простых заключений, тем более для доказательства теорем и т.д. Это объясняется тем, что алгебра высказываний интересуется лишь истинностью или логичностью исходных высказываний, отвлекаясь от их последовательности и строения. В отличие от алгебры высказываний логика предикатов интересуется истинностью или логичностью высказываний в зависимости от их структуры и последовательности. Пусть М – множество элементов произвольной природы, элементы x, y, z, которого обозначаются малыми латинскими буквами и называются предметными переменными (предметами). n - местным предикатом F(x1,...,xn) называется функция от n переменных определенная на множестве М и принимающая значение И и Л. Примером одноместного предиката F(x) является предикат – свойство. Например, предикат: «х есть простое число», в зависимости от х может быть И или Л. Предикаты задаются своими таблицами (матрицами) истинности. Например, для предиката «х есть простое число» матрица истинности имеет вид: х 1 2 3 4 5 6 7 8 ... F(x) И И И Л И Л И Л … Здесь М есть множество натуральных чисел. Примером 2 – местного предиката является предикат – отношение: x ≥ y, x = y, х делить на у и т.д. Примером 3 – местного предиката является, например, такой «z есть НОД х и у». Если в n – местном предикате зафиксировать m переменных, то получится (n - m) – местный предикат. Например, х > y – 2 – местный предикат. Если положить х = 5, то 5 > у – одноместный предикат. Положив у = 3, получим 5 > 3 – простое высказывание или 0 – местный предикат. Можно сказать, что алгебра высказываний есть логика 0 – местных предикатов. В этом смысле алгебра высказываний есть частный случай логики предикатов. Поэтому все положения, справедливы в алгебре высказываний, справедливы и в логике предикатов, но логика предикатов не исчерпывается ими. Таким образом, в логике предикатов фигурируют следующие величины: нелогические величины – это переменные и постоянные предметы x, y, z, ... a, b, c, переменные и постоянные высказывания А, В, С, … И, Л, которые мы будем называть элементарными высказываниями, и наконец, элементарные предикаты F(x1,...,xn), f(x,y). Элементарные высказывания и предикаты называются элементарными формулами. Из этих формул с помощью операций алгебры высказываний ,, , ~, получаются формулы, не являющимися элементарными. Кроме этих операций в логике предикатов можно определить и такие операции, которые нельзя ввести в алгебре высказываний. Это кванторы. 1. Квантор всеобщности – это операция, которая сопоставляет предикату P(х) высказывание х P(х) – все х М обладают свойством P(х). Очевидно что предикат G = х P(х) имеет значение Л во всех случаях, кроме одного, когда P(х) есть тождественно истинный на М предикат. Поэтому х P(х) еще можно сформулировать так: для всех х М P(х) – истинен. Квантор всеобщности обобщает операцию конъюнкции на бесконечное множество значений: х P(х) = P(а1) P(а2) … 2. Квантор существования является двойственным для . Это операция, которая сопоставима предикату P(х) высказывание х P(х) – существует х М, обладающее свойством P(х). Предикат G = х P(х) имеет значение И, 1 когда P(х) имеет значение И хотя бы для одного х М. Квантор существования обобщает операцию дизъюнкции: х P(х) = P(а1) P(а2) … Если А(х,у) – двуместный предикат, определенный на множестве М, то кванторы , можно применять как для переменой х, так и для у. х А(х,у); у А(х,у); х А(х,у); у А(х,у). Переменная, к которой был применен квантор, называется связанной, а другая переменная свободной. Двуместный предикат после связывания одной из переменных квантором, становится одноместным, т.е. F(y) = х А(х,у) есть одноместный предикат от переменной у. Замечание! 1) Операции ,, , ~, - над одноместными предикатами соответствуют операциям над множеством. Если предикат P(х) определен на множестве М, то на множестве Можно выделить подмножество P, в каждой точке которого P(х) = И. Это подмножество называется характеристическим множеством предиката P(х). 2) Пусть P(х) и Q(х) два предиката, определенные на одном и том же множестве М, а P и Q их характеристические множества. Тогда характеристическим множеством предиката P(х) Q(х) является P Q, для предиката P(х) Q(х) – пересечение P Q, а для предиката Ô ( x) - характеристическое множество есть Ô M . 3) Можно показать, что условие (х) [P(х) → Q(x)] эквивалентно P Q. Действительно, пусть справедливо х [P(х) → Q(x)], т.е. P(х) → Q(x) есть тождественно истинный предикат. Выберем х P, т.е. P(х) = И. Т.к. P(х) → Q(x) И, то в этом случае Q(х) = И и х Q. Следовательно P Q. Установим обратное. Пусть P Q. Выберем х P, т.е. P(х) = И. Т.к.P Q, то х Q и Q(х)=И. Следовательно P(х) → Q(x) = И, если х P. Если же х P, т.е. P(х) = Л, то P(х) → Q(x) = И независимо от Q(х). Следовательно, P(х) → Q(x) = И для всех х или справедливо: х [P(х) → Q(x)]. 4) Показать, что условие х [P(х) ~ Q(x)] эквивалентно P = Q. Равносильность в логике предикатов. Если две формулы W и V, определенные на некоторой области М, принимают одинаковые значения при всех значениях входящих в них переменных предикатов, переменных высказываниях и предметных переменных из М, то они равносильны на М. Формулы, равносильные на любых областях, называются просто равносильными и могут заменять друг друга. Все равносильности, имеющее место в алгебре высказываний переносятся и в логику предикатов. В частности, как и ранее W V W V WV V V Кроме равносильности алгебры высказываний в логике предикатов существуют равносильности, связанные с кванторами. Это формулы Де Моргана для кванторов: xW ( x) yW ( y ) xW ( x) yW ( y ) Эти формулы отражают следующее правило: знак отрицания можно вносить под знак квантора, меняя квантор на двойственный. В алгебре высказываний было установлено, что для любой формулы существует равносильная ей формула, содержащая только V,Λ, −. В логике предикатов для каждой формулы можно найти равносильную формулу, содержащую только знаки операций V,Λ, −, причем знак − относится только к элементарным высказываниям и элементарным предикатам. Такая формула называется приведенной формой данной формулы. 2 Пример: x( A( x) yB( y)) x( A( x) yB( y)) xA( x)y B( y) Нормальные формы в логике предикатов. Приведенная форма данной формулы называется нормальной, если она не содержит кванторов или операции связывания квантором следуют за всем операциями алгебры высказываний. В записи нормальной формы кванторы, если они есть, предшествуют всем остальным логическим символам. Например, приведенная форма x1x2 x3x4W ( x1 x2 x3 x4 ) нормальна, если W ( x1 x2 x3 x4 ) не содержит кванторов. Теорема: Каждая формула логики предикатов имеет нормальную формулу. Доказательство: Прежде чем доказывать теорему, установим 4 равносильности, которые необходимы нам в дальнейшем. В них предполагается, что формула Н не содержит свободной переменной х: 1.xW ( x) H x(W ( x) H ) 2.xW ( x) H x(W ( x) H ) 3.xW ( x) H x(W ( x) H ) 4.xW ( x) H x(W ( x) H ) Установим первую из этих равносильностей. Остальные аналогично. xW ( x) H x(W ( x) H ) Пусть xW ( x) H истинна для некоторой области М. Тогда на М истинно или xW (x) или H . В первом случае W (x ) есть тождественно истинный на М предикат и т.к. H не содержит х, W ( x) H тоже тождественно истинный на М предикат и, следовательно x(W ( x) H ) - истинно. Во втором случае, если истинно H , то истинно и W ( x) H независимо от х, а значит x из М. Пусть теперь xW ( x) H ложно. Тогда xW (x) и H ложны. Следовательно, существует х0 М, такой что W ( x0 ) = Л. Но тогда W ( x0 ) H ложно, т.е. x(W ( x) H ) ложно. Докажем теперь теорему методом индукции. Для элементарных формул наше утверждение истинно, т.к. они сами представляют собой нормальные формы. Т.к. любую формулу можно записать, используя операции ,,, то достаточно показать, что если W1 и W2 имеют нормальные формы, то и W1 , W1 W2 , W1 W2 тоже имеют нормальные формы. ~ ~ Пусть W1 и W2 имеют нормальные формы W1 и W2 , где ~ W1 x1 ...xi xi 1 ,...x nV1 ( x1 ...x n ) ~ W2 y1 ...y i y i 1 ,...y mV2 ( y1 ... y m ) ~ ~ Тогда формуле W1 W2 равносильна формула W1 W2 , которая может быть всегда приведена к нормальной форме с использованием равносильностей 1 – 2: ~ ~ W1 W2 x1[x2 ...xi xi 1 ,...xnV1 ( x1 ...xn ) y1 ...yi yi 1 ,...y mV2 ( y1 ... y m )] ... x1 ...xi xi 1 ,...xn y1 ...yi yi 1 ,...y m [V1 ( x1 ...xn ) V2 ( y1 ... y m )] Таким образом, получена нормальная форма формулы W1 W2 . Аналогично, с помощью равносильностей 3,4 показывается, что можно построить нормальную форму и 3 ~ для W1 W2 . Наконец, если известна нормальная форма W1 формулы W1 , то нормальная форма W1 имеет следующий вид: ~ W 1 x1 ...xi xi 1 ,...x nV1 ( x1 ...x n ) x1 ...xi xi 1 ,...x nV1 ( x1 ...x n ) Таким образом установлено, что любая формула логики предикатов имеет нормальную форму. Для приведения формулы к нормальной форме нужно сделать следующие операции: 1. исключить знаки , ~, если они есть. 2. уменьшить область знаков отрицания. 3. переименовать переменные так, чтобы можно было вынести кванторы в начало формулы. Пример: xP( x) хQ( x) хP( x) хQ( x) xP( x) хQ( x) xP( x) yQ( y ) xyP( x)Q( y ) Проблема разрешения в логике предикатов. Формула называется ложной (тождественно ложной), если она имеет значение Л на любой области при любых значениях предикатов. Формула называется тождественно истинной на М, если она имеет значение И при всех значениях предикатов, определенных на М. Формула называется выполнимой, если истинна для некоторых предикатов, определенных на М. Проблема разрешения ставится такая, как и в алгебре высказываний: указать единый способ для определения по произвольной формуле, выполнима она или нет. Если проблема разрешения в алгебре высказываний легко решается с помощью нормальных форм, то для логики предикатов показано, что эта проблема не разрешима. Однако для некоторых частных типов формул эта проблема решается, т.е. она неразрешима в общем случае, для любой формулы. 4