Математическая логика и теория алгоритмов. Учебное пособие-1
.pdf
Ло гика предик атов
Очевидны утверждения:
xP(x) |
|
1 |
если P(x) тождественно истинный на М; |
|
если P(x) опровержимый на М; |
||
|
|
0, |
xP( |
) |
|
1, |
если P(x) вполним ый на М; |
|
если P(x) тождественно ложный на М. |
|||
|
|
|
0, |
Пусть P (x1, x2, … xn) – n- |
естный предикат, |
заданный на некотором |
множестве M. огда xi P (x1, x2, |
…, xn) или xi P (x1 |
x2, …, xn) будут ( n – 1) – |
местными предикатами, в кото рых переменная xi |
называется связанной, |
|
а остальные переменные – свободными. |
|
|
Пример. Дан выполнимый двухместный предикат P (x , y) – «x + y ≤ 2», x, y R, множество ист нности которого изображено на ри с. 3.1
Рис. 3.1
Определ ть предикаты, по лученные из данного, с помощью операций квант фикации.
Решение.
1. С пом щью операций квантификации мож но получить чет ре одноместных предиката:
Q (y) – P (x, y) – x(x + y ≤ 2) – то ждественно ложны й предикат, так как Q+ (y) = ;
F (y) – xP (x, y) – x(x + y ≤ 2) – то дествен о истинн ый на R предикат, так как F+ y) = R;
G (x) – P (x, y) – y(x + y ≤ 2) – то ждественно ложны й предикат, так как G+ (x) = ;
H (x) – P (x, y) – y(x + y ≤ 2) – тождественно истинный на R предикат, так как H+ (y) = R.
51
Глава 3
2. Из каждого одноместного предиката с помощью операций квантификации можем получить по два нольместных предиката, то есть высказывания. Приведем эти высказывания для предиката Q (y):
y xP (x, y) – y x(x + y ≤ 2) – ложное высказывание;y xP (x, y) – y x(x + y ≤ 2) – ложное высказывание.
Упражнение. Приведите другие высказывания, полученные из данных одноместных предикатов, и определите их истинностные значения.
Введение операций квантификации существенно расширяет возможности логики предикатов по сравнению с алгеброй высказываний при формализации предложений и проверке правильности рассуждений. На этих вопросах остановимся позднее.
3.3. Формулы логики предикатов и их виды
Определение. 1. Элементарными формулами логики предикатов (ЛП) называются символы переменных и постоянных высказываний – P, Q, …, X, Y, … – и символы переменных и постоянных предикатов – P (a), P (x),
Q(x, y), …, R (x1, …, xn).
2.Если F и G – формулы, то формулами также являются
( F ), (F ˅ G), (F ˄ G), (F → G), (F ↔ G),
3. Если F (x) – формула, содержащая переменную x (возможно
идругие), то формулами также являются xF (x), xF (x).
4.Других формул ЛП нет.
Таким образом, все формулы алгебры высказываний являются формулами логики предикатов, но последние ими не исчерпываются.
Прежде чем определить виды формул логики предикатов, уточним понятие интерпретации этих формул.
1.Если формула замкнутая, то есть в ней все переменные связаны, то для интерпретации такой формулы достаточно выбрать множество и на нем переменныепредикатызаменитьконкретными. Результатоминтерпретации будет некоторое высказывание.
2.Если формула открытая, то есть в ней есть свободные переменные, то для ее интерпретации нужно сделать то же самое, что и в п. 1, и свободным переменным придать некоторые значения из выбранной области.
Пример. Дана замкнутая формула x yP (x, y). Построить ее интерпретацию.
Решение. Пусть x, y N, в качестве P (x, y) возьмём предикат «x < y». Тогда формула x yP (x, y) становится истинным высказыванием
« x y(x < y)».
52
Логика предикатов
Пример. Дана открытая формула y(P (x, y) → (x ≠ y)). Построить ее интерпретацию.
Решение. Так же как и в предыдущем примере, положим x, y N, в качестве P (x, y) возьмем предикат «x < y». Получим формулу
y((x < y) → (x ≠ y)),
которая высказыванием еще не является. Заменив свободную переменную x некоторым натуральным числом, например единицей, получим истинное высказывание
« y((1 < y) → (1 ≠ y))».
Определение. Формула ЛП называется выполнимой (опровержимой) на множестве М, если существует истинная (ложная) интерпретация этой формулы.
Определение. Формула ЛП называется тождественно истинной (ложной) на множестве М, если при всякой интерпретации она превращается в истинное (ложное) высказывание.
Определение. Формула F называется общезначимой или тавтологией (|=F), если она является тождественно истинной на любом множестве M.
Замечание. Из определения общезначимой формулы следует, что любая формула алгебры высказываний, являющаяся тавтологией, будет общезначимой в логике предикатов, если переменные высказывания заменить в ней произвольными предикатными переменными.
Примеры.
1.P ˅P тавтологиявАВ, P (x) ˅P(x) – общезначимая формулав ЛП.
2.(P → Q) ↔ ( P ˅Q) – тавтология в АВ, (P(y) → Q(x)) ↔ ( P(x, y) ˅
Q(x)) – общезначимая формула в ЛП.
3.4. Равносильность формул логики предикатов
Определение. Формулы F и G равносильны на множестве M (F = G), если они при любых интерпретациях являются предикатами, равносильными на M.
Определение. Формулы F и G равносильны (F = G), если они равносильны на любых множествах.
Так же как в алгебре высказываний, имеет место следующая теорема: (F = G) ↔ (|=F ↔ G).
Приведем ряд важных равносильностей в логике предикатов.
1. Все равносильности, имеющие место в алгебре высказываний, являются равносильностями в логике предикатов. Например:
53
Глава 3
P P P |
P P P |
||||||||||||||||
P Q Q P |
P Q Q P |
||||||||||||||||
(P Q) R P (Q R) |
(P Q) R P (Q R) |
||||||||||||||||
(P Q) R (P R) (Q R) |
(P Q) R (P R) (Q R) |
||||||||||||||||
P 0 P |
P 1 P |
||||||||||||||||
P |
|
|
1 |
P |
|
|
0 |
||||||||||
P |
P |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
P Q |
P |
Q |
P Q |
P |
Q |
||||||||||||
P Q |
|
Q |
P Q (P Q)(Q P) |
||||||||||||||
P |
|||||||||||||||||
2. Отметим ряд равносильностей, связанных с операциями квантификации:
x(F (x) ˄ G (x)) = xF (x) ˄ xG (x)x(F (x) ˅ G (x)) = xF (x) ˅ xG (x)x yF (x, y) = y xF (x, y)
x yF (x, y) = y xF (x, y)xF(x) xF(x)
xF(x) xF(x)
xF (x) ˅ Y = x(F (x) ˅ Y)xF (x) ˄ Y = x(F (x) ˄ Y)
В последних двух равносильностях Y – это формула, не содержащая переменной x.
Доказательство приведенных равносильностей можно провести исходя из определения этого понятия.
Замечания:
Квантор нельзя переносить через дизъюнкцию.
Квантор нельзя переносить через конъюнкцию.
Разноименные кванторы нельзя менять местами.
Например, x(F (x) ˅ G (x)) ≠ xF (x) ˅ xG (x).
Например, x yF (x, y) ≠ y xF (x, y).
Доказательство неравносильности этих формул состоит в построении множества и предикатов на нем, для которых высказывания, полученные в правой и левой части от знака «≠», принимают разные истинностные значения (0 и 1).
Упражнение. Доказать, что x(F (x) ˅ G (x)) ≠ xF (x) ˅ xG (x).
Пример. Записать на языке логики предикатов предложение «Каждый студент выполнил по меньшей мере одну лабораторную работу» и его отрицание.
54
Логика предикатов
Решение.
Пусть S – множество студентов, L – множество лабораторных работ, P (x, y) – «Студент x выполнил лабораторную работу y».
Тогда данное предложение записывается формулой x yP (x, y). Построим отрицание данной формулы:
x yP(x, y) x yP(x, y) x yP(x, y).
Такимобразом, предложение«Неверно, чтокаждыйстудентвыполнил по меньшей мере одну лабораторную работу» можно записать так: «Существует студент, который не выполнил ни одной лабораторной работы».
3.5. Нормальные формы формул логики предикатов
Определение. Приведенной нормальной формой (прив. НФ) формулы логики предикатов называется такая ее форма, в которой из операций алгебры высказываний имеются только операции «отрицание», «дизъюнкция» и «конъюнкция», а знаки отрицания относятся только к предикатным переменным и высказываниям.
Определение. Предваренной нормальной формой (предв. НФ) формулы логики предикатов называется равносильная ей формула вида
G = (Q1 x1) (Q2 x2) …(Qn xn) F (x1, x2, …, xn),
где Qi – кванторы или для i = 1, 2, …, n, F – безкванторная формула, называемая матрицей формулы G.
Определение. Формула имеет сколемовскую нормальную форму, если она имеет предваренную нормальную форму, в которой только кванторы всеобщности, а ее матрица имеет конъюнктивную нормальную форму.
Теорема. Для любой формулы логики предикатов существует равносильная ей формула, имеющая предваренную нормальную форму.
Теорема. Для любой формулы F логики предикатов существует
ˆ , имеющая сколемовскую нормальную форму, одновременно формула F
с F выполнимая или нет.
Алгоритм приведения формулы логики предикатов к приведенной нормальной форме повторяет соответствующий алгоритм для формул алгебры высказываний и здесь не приводится.
Алгоритм приведения к предваренной нормальной форме
1.Заменяем импликацию и эквиваленцию по формулам:
x→ y = x ˅ y, x ↔ y = (x → y) (y → x).
55
Глава 3
2. Отрицания конъюнкции и дизъюнкции заменяем по формулам:
x y |
x y, |
x y |
x y. |
3.Выносим кванторы вперед, используя равносильности, связанные
соперациями квантификации, при необходимости переименуем связанные переменные.
Алгоритм приведения к сколемовской нормальной форме
1.Приводим формулу F к предваренной нормальной форме.
2.Матрицу формулы в предваренной нормальной форме приводим
к КНФ.
3.Исключаем кванторы слева направо следующим образом: если
Qk xk = xk, то:
при k = 1 полагаем xk = α и xk в формуле вычеркиваем;
при k > 1 полагаем xk = f (x1, …, xk–1), где f не входит в формулу F, и xk вычеркиваем.
Пример. Привести к предваренной и сколемовской нормальным формам формулу
F (x, y, z) = x y[P (x, y) → z(Q (x, z) ˄ G (y))].
Решение.
1. Построим приведенную нормальную форму, выразив импликацию через дизъюнкцию:
x y[P (x, y) → z(Q (x, z) ˄ G (y))] =
x y[ P(x, y) ˅ z(Q (x, z) ˄ G (y))].
2. Построим предваренную нормальную форму, вынеся квантор z за скобку:
F(x, y, z) = x y z[ P(x, y) ˅ (Q (x, z) ˄ G (y))].
3.Построим сколемовскую нормальную форму, приведя матрицу полученной выше предваренной нормальной формы к КНФ и исключив
кванторы x (полагаем x = α) и z (полагаем z = f (y)):
F(x, y, z) = x y z[( P(x, y) ˅ Q (x, z))( P(x, y) ˅ G (y))] →
→y z[( P( , y) ˅ Q (α, z))( P( , y) ˅ G (y))] →
→y[( P( , y) ˅ Q (α, f (y)))( P( , y) ˅ G (y))].
56
Логика предикатов
3.6. Логическое следование формул. Правило резолюций
Определение. Формула G логически следует из формул F1, …, Fk (F1, …, Fk => G), если при всех интерпретациях этих формул, для которых формулы F1, …, Fk одновременно обращаются в истинные высказывания, формула G также обращается в истинное высказывание.
Для практического выяснения вопроса о логическом следовании формулы из других формул в отличие от алгебры высказываний таблицы истинности в логике предикатов построить нельзя, поэтому поступают одним из двух способов.
1.Рассуждают, исходя из определения этого понятия.
2.Используют метод резолюций, который опирается на следующую теорему.
Теорема (правило резолюций). Из формул F ˅ G и F ˅ H логически следует формула G ˅ H.
Доказательство: Предположим противное. Пусть существует такая интерпретация данных формул, при которой
[F ˅ G] = [ F ˅ H] = 1, [G ˅ H] = 0.
Тогда при этой интерпретации из последнего равенства получим [G] = [H] = 0. Из равенств [F ˅ G] = 1 и [G] = 0 следует, что [F] = 1, а из
равенств [ F ˅ H] = 1 и [H] = 0 следует, что [ F ] = 1, то есть [F] = 0. Полученное противоречие показывает невозможность сделанного предположения и теорема доказана.
Алгоритм метода резолюций
1.Формулы F1, …, Fk, G приводят к предваренным нормальным формам.
ˆˆ ˆ
2.Строят их сколемовские нормальные формы F1, , Fk ,G .
3.Строят множество S = {D1, D2, …, Dm} дизъюнктов, входящих
вматрицы сколемовских форм.
4.Используя правило резолюций, выводят пустой дизъюнкт.
Если пустой дизъюнкт выводим из множества S, то делают вывод о том, что F1, …, Fk => G. Иначе – вопрос о логическом следовании остается открытым.
Замечание. Метод резолюций в логике предикатов не является универсальным. Этот факт следует из доказанной в 1936 году теоремы Черча и Тьюринга.
Пример. Даны формулы
F1 = x[G (x) → V (x) R (x)),
57
Глава 3
F2 = x(G (x) Q (x)), G = x(Q (x) R (x)).
Покажем, что F1, F2 => G.
Решение.
Этапы 1 2: строим предваренные, а затем сколемовские нормальные
формы формул F1, F2, G .
F1 x(G(x) V (x)R(x)) x(G(x) V
x(G(x) V (x))(G(x) R(x)) F2 x(G(x)Q(x)) G( )Q( )
G x(Q(x)R(x)) xQ(x)R(x) x(Q(x)
(x)R(x))
ˆ
F1;
ˆ
F2;
ˆ
R(x)) G.
|
Этап 3: строим множество дизъюнктов, входящих в формулы |
|||||||||||
ˆ ˆ |
ˆ |
|
|
|
|
|
|
|
|
|
|
|
F1, F2 |
,G . |
|||||||||||
|
|
S = {D1 = |
|
˅ V (x), D2 = |
|
|
|
˅ R (x) D3 = G (α), |
||||
|
|
G(x) |
G(x) |
|||||||||
|
|
D4 = Q (α), D5 = |
|
|
|
|
}. |
|||||
|
|
Q(x) |
R(x) |
|||||||||
|
Этап 4: из множества S выводим пустой дизъюнкт W. |
|||||||||||
|
При x = α |
|||||||||||
|
|
|
D4, D5 => |
|
= D6; |
|||||||
|
|
|
R( ) |
|||||||||
|
при x = α |
|||||||||||
|
|
|
|
D2, D3 => R (α) = D7; |
||||||||
|
|
|
|
D2, D3 => W. |
||||||||
|
Логическое следование доказано. |
|||||||||||
Задачи к главе 3. Логика предикатов
1. Какие из следующих предложений являются предикатами:
«x делится на 5» (x N); «x2 + 2x + 4», (x R);
«x есть брат y» (x, y пробегают множество всех людей); «x2 + 3x – 6 = 0» (x R);
«Для всех действительных x справедливо равенство».
58
Логика предикатов
2. Из следующих предикатов с помощью кванторов постройте вы-
сказывания и определите их истинностные значения (x R): x2 + 2x + 1 = (x + 1)2;
x2 = 25;
x2 + y2 = 25;
(x2 + 1 = 0) → ((x = 0) ˅ (x = 2)); (x2 = y2) → (x = y).
3.Прочитайте высказывания и определите их истинностные значения:
x y (x + y = 4);x y (x + y = 4);x y (x + y = 4);
( x y (x + y = 3)) → (3 = 4);x[((x > 1) ˅ (x < 2)) ↔ (x = x)].
4.Найдите множества истинности следующих предикатов:
«x кратно 3», M = {1,2,3,4,5,6,7,8,9}; «x кратно 3», M = {3,6,9,12};
«x1 делит x2», M1 = M2 = {2,3,4,6};
«x1 + x2 < 0», M1 = {–3,–2,–1,0,1,2,3} M2 = {–3,1,2}.
5. Изобразите множества истинности следующих предикатов, за-
данных на множестве R действительных чисел: «x2 + 6x – 16 ≤ 0»;
«|x + 3| < 2»; «|x| = |y|»; «x + 3y < 6»;
6. Изобразите множества истинности следующих предикатов, заданных на множестве R действительных чисел:
«(x < 3) ˅ (y ≥ 1)»; «(x < 3) ˄ (y ≥ 1)»; «(x < 3) → (y ≥ 1)»
«(x < 3) ↔ (y ≥ 1)»
«(x2 + y2 ≥ 4) → (xy > 0)».
7. Зная множества P+ и Q+ истинности предикатов P и Q соответственно, заданных на одном множестве, найдите множества истинности
предикатов P , P ˅ Q, P ˄ Q, P → Q, P ↔ Q.
8.Выразите множество истинности предиката
P(x) Q(x) P(x) Q(x)
через множества истинности входящих в них элементарных предикатов. 9. Выясните, равносильны ли следующие предикаты, если их рас-
сматривать над множествами R, Q, Z, N:
59
Глава 3
«|x| = |y|» и «x = y»;
« x y = 6» и « xy = 6»;
«ln(xy) = ln x + ln y» и «2x · 2y = 2x+y».
10. Для данных формул с помощью равносильных преобразований постройте приведенные и предваренные нормальные формы:
x(P (x) → yQ (y));
xP(x) yQ( y) ;
y P( y) xQ(x) ;
P( y) xQ(x, y) P( y) ;
(P( y) Q(x) yR( y, z) .
11. ПустьP (x) – «x – простоечисло», Е(x) – «x – четноечисло», О(x) – «x – нечетное число», D (x, y) – «y делится на x», xy N. Переведите следующие записи на язык логики предикатов:
E (2) ˄ P (2);
x(D (2, x) → E (x));x(E (x) ˄ D (x, 6));
x O(x) y P( y) D(x, y) .
12.Введя одноместные предикаты на соответствующих областях, переведите высказывания на язык логики предикатов:
все целые числа рациональные;некоторые рациональные числа действительные;
ни одно рациональное число не является действительным.
13.Запишите высказывания на языке логики предикатов:
существует не более одного x такого, что P (x);
существует по меньшей мере два различных x таких, что P (x). 14. Запишите на языке логики предикатов определения:
ограниченной последовательности;
функции, стремящейся к бесконечности в точке;
монотонно возрастающей функции.
15. Проанализируйте рассуждения на предмет их правильности. Для этого выявите логические схемы, на которых они основаны, и выясните, справедливы ли они:
Все рациональные числа – действительные. Все целые числа – рациональные. Следовательно, все целые числа – действительные.
Все ромбы – параллелограммы. Все прямоугольники – параллелограммы. Следовательно, все прямоугольники – ромбы.
Все хирурги – врачи. Некоторые врачи – Герои России. Следовательно, некоторые хирурги – Герои России.
60
