Логика предикатов

advertisement
Логика предикатов.
Рассмотренной нами алгебре высказываний оказывается недостаточно даже для
изучения простых заключений, тем более для доказательства теорем и т.д. Это объясняется
тем, что алгебра высказываний интересуется лишь истинностью или логичностью
исходных высказываний, отвлекаясь от их последовательности и строения. В отличие от
алгебры высказываний логика предикатов интересуется истинностью или логичностью
высказываний в зависимости от их структуры и последовательности.
Пусть М – множество элементов произвольной природы, элементы 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)
Нормальные формы в логике предикатов.
Приведенная форма данной формулы называется нормальной, если она не содержит
кванторов или операции связывания квантором следуют за всем операциями алгебры
высказываний. В записи нормальной формы кванторы, если они есть, предшествуют всем
остальным логическим символам. Например, приведенная форма
x1x2 x3x4W ( 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 ) 
 xyP( x)Q( y )
Проблема разрешения в логике предикатов.
Формула называется ложной (тождественно ложной), если она имеет значение Л
на любой области при любых значениях предикатов. Формула называется тождественно
истинной на М, если она имеет значение И при всех значениях предикатов, определенных
на М. Формула называется выполнимой, если истинна для некоторых предикатов,
определенных на М.
Проблема разрешения ставится такая, как и в алгебре высказываний: указать единый
способ для определения по произвольной формуле, выполнима она или нет. Если проблема
разрешения в алгебре высказываний легко решается с помощью нормальных форм, то для
логики предикатов показано, что эта проблема не разрешима. Однако для некоторых
частных типов формул эта проблема решается, т.е. она неразрешима в общем случае, для
любой формулы.
4
Download