Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Матлогика Пономарев.pdf
Скачиваний:
263
Добавлен:
05.06.2015
Размер:
1.76 Mб
Скачать

 

 

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

89

x2 x3

(P1

(x1,x3) P2

(x2 )

 

x1

 

 

.

 

x3(P1(x2,x3) P2 (x2 )

Это - правильная подстановка, так как вместо свободной переменной можно подставить другую переменную.

f (x2 ,t)

x3 (P1(x1,x3) P2 (x2 ))

x1

x3 (P1(f (x2,t),x3) P2 (x2 ))

Это - правильная подстановка, так как вместо свободной переменной можно подставить функцию.

Подстановка называется неправильной, если в результате подстановки свободная переменная окажется в области действия квантора или связанная переменная будет заменена термом.

x2 x3 (P1(x1,x3) P2 (x2 ))

 

 

 

 

 

 

.

(P (x

,x

2

) P (x

2

))

x3

1

1

 

2

 

 

x3

Это - неправильная подстановка, так как связанная x3 заменена свободной переменной.

x3 x3 (P1(x1,x3) P2 (x2 ))

 

 

 

 

 

 

.

(P (x

,x

3

) P (x

3

))

x3

1

1

 

2

 

 

x2

Это - неправильная подстановка, так как предикат P2(.) попадает в область действия квантора x3.

1.2.1.4. Эквивалентные преобразования формул

Пример. 1.61. F=¬x1 x2(P1 1)x3 (P2. (х1, x3) P3(x2, x3))).

F= x(P1(х)→¬P2(х))→¬( x(P1(х))

90

Математическая логика

Упростить алгебраическое выражение.

Выполнить операцию отрицания:

F= x1¬x2(P1 1)x3 (P2. (х1, x3) P3(x2, x3))),

F= x1 x2(¬(P1 1)x3 (P2. (х1, x3) P3(x2, x3)))).

Удалить логическую связку «»: F= x1 x2¬(¬P1 1) x3 (P2. (х1, x3) P3(x2, x3))).

Выполнить операцию отрицания:

F= x1 x2(P1 1) x3 (P2. (х1, x3) P3(x2, x3))),

F= x1 x2(P1 1) &x3(¬(P2. (х1, x3) P3(x2, x3)))),

F= x1 x2(P1 1) &x3 (¬P2. (х1, x3)P3(x2, x3))).

Перенести квантор x3 влево:

F= x1 x2 x3 (P1 1) P2. (х1, x3)P3(x2, x3)).

Пример 1.62.

&x(P2(х))).

Упростить алгебраическое выражение.

Удалить логическую связку «»: F=¬( x(¬P1(х)¬P2(х)))¬( x(P1(х)) &x(P2(х))).

Выполнить операцию отрицания:

F= x(¬(¬P1(х)¬P2(х))) x(¬P1(х)) x(¬P2(х)), F= x(P1(х)&P2(х)) x(¬P1(х)) x(¬P2(х))).

Применить закон дистрибутивности по квантору x:

F= x(P1(х)&P2(х)¬P2(х)) x(¬P1(х), F= x((P1(х)¬P2(х))&(P2(х)¬P2(х))) x(¬P1(х)).

Применить закон исключенного третьего: F= x((P1(х)¬P2(х))) x(¬P1(х)).

Применить закон де Моргана:

F= x((P1(х)¬P2(х)))¬x(P1(х)).

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

91

Применить закон дистрибутивности по квантору x: F= x(P1(х)) x(¬P2(х)) ¬ x(P1(х)).

Применить закон исключенного третьего:

F= x(¬P2(х)) и=и.

Следовательно, x(P1(х)→¬P2(х))→¬( x(P1(х))& & x(P2(х))) - аксиома.

1.2.1.2. Предварённая нормальная форма

Для удобства анализа сложных формул рекомендуется преобразовывать ее к нормальной форме. Если в алгебре высказываний приняты две нормальные формы ДНФ и КНФ, то в алгебре предикатов – кроме ДНФ и КНФ есть

предварённая нормальная форма (ПНФ), суть которой сводится к разделению формулы на две части: префикс и матрицу. Для этого все кванторы выносят влево по правилам логики предикатов, формируя префикс, а логические связки соединяют предикаты формулы, формируя матрицу. В результате будет получена формула: x1 x2 xn(M), где x1 x2 xn - префикс формулы при{ , }, а М – матрица формулы. Затем матрицу формулы преобразуют к виду КНФ для определения истинности заключения по правилам 1.1.1.5.

Алгоритм приведения формулы к виду ПНФ:

Шаг 1: исключить в формуле всюду логические связки и :

(F1F2)=(F1F2)& (F2F1)=(¬F1 F2)&(¬F2 F1),

(F1F2)=(¬F1 F2),

Шаг 2: продвинуть отрицание до элементарной формулы:

¬ x(F)= x(¬F), ¬(F1 F2)=(¬F1F2), ¬ x(F)= x(¬F),

92

Математическая логика

¬(F1&F2)=(¬F1¬F2),

Шаг 3: переименовать связанные переменные по правилу:

«найти самое левое вхождение предметной переменной – такое, что это вхождение связано некоторым квантором, но существует еще одно вхождение этой же переменной, затем сделать замену связанного вхождения на вхождение новой переменной. Операцию повторять пока возможна замена связанных переменных»,

Шаг 4: вынести кванторы новых связанных переменных влево, не нарушая их последовательности.

Шаг 5: преобразовать бескванторную матрицу к виду

КНФ, т. е. М=D1&D2&D3&…, где Di=(Fi Fj Fk …). Алго-

ритм приведения матрицы формулы к виду КНФ приведен в1.1.1.5.

Пример 1.63. Дано F=¬x1 x2(P11)x3 (P21, x3) P3(x2, x3))). Привести формулу к виду ПНФ.

Выполнить операцию отрицания:

F= x1(¬x2(P11)x3(P21, x3) P3(x2, x3)))),

F= x1 x2(¬(P11)x3 (P21, x3) P3(x2, x3)))).

Удалить логическую связку «»: F= x1 x2(¬(¬P11) x3(P21, x3) P3(x2, x3)))).

Выполнить отрицание формулы:

F= x1 x2(P11)x3(P21, x3) P3(x2, x3))),

F= x1 x2(P11) &x3(¬(P21, x3) P3(x2, x3)))),

F= x1 x2(P11) &x3(¬P21, x3)P3(x2, x3))).

Перенести квантор x3 влево:

F= x1 x2 x3 (P11)P21, x3)P3(x2, x3)).

Матрица ПНФ содержит три элементарных дизъюнкта:

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

93

K={P11), ¬P21, x3), ¬P3(x2, x3)).

Пример 1.64. Дано F=( x(P1(х)y(P2(y)P3(z))))&

&(¬ y(P4(x, y)P5.(z))). Привести формулу к виду ПНФ.

Удалить логические связки «»: F= x(¬P1(х) y(¬P2(y) P3(z)))y(¬P4(x, y) P5.(z)),

Применить закон ¬ x(F(x))x(¬F(x)): F= x(¬P1.(х) y(¬P2(y) P3(z)))& y(¬(¬P4(x. y) P5.(z))).

Применить закон ¬(F1 F2)(¬F1F2): F= x(¬P1.(х) y(¬P2(y) P3(z)))& y(P4(x, y)P5.(z)).

Переименовать связанную переменную левого квантора x=w:

F= w(¬P1(w) y(¬P2(y) P3(z)))& y(P4(x, y)&(¬P5.(z))).

Переименовать связанную переменную левого квантора y=v:

F= w(¬P1(w) v(¬P2(v) P3(z)))& y(P4(x, y)&(¬P5.(z))).

Вынести квантор v в префикс: F= w v(¬P1(w) ¬P2(v) P3(z))& y(P4(x, y)P5.(z)).

Вынести квантор y в префикс:

F= w v y((¬P1(w) ¬P2(v) P3(z))&P4(x, y)P5.(z)).

Матрица ПНФ содержит три элементарных дизъюнкта: K={(¬P1(w) ¬P2(v) P3(z)), P4(x y), ¬P5.(z)}.

Пример 1.65. Дано F= x(P1(х)y(P2(y)))z(P3.(z)).

Привести формулу к виду ПНФ.

Удалить логические связки «» и «»: F=¬ x(P1(х))& y(P2(y)) (¬(P1(x))&¬ y(P2(y))) z(P3.(z)).

Применить закон де Моргана: F= x((¬P1.(х) y(¬P2(y)))&(P1(x) y(P2(y)))) z(P3(z)).

94

Математическая логика

Применить закон дистрибутивности:

F= x(¬P1(х)&P1(x)¬P1(x)& y(P2(y)) P1 (x)& y(¬P2.(y)) y(¬P3.(y))& y(P2(y))) z(P3(z))=

x(¬P1(x)& y(P2(y)) P1(x)& y(¬P2.(y))) z(P3(z)).

Переименовать связанную переменную левого квантора y=v:

F= x(¬P1(x)& v(P2(v)) P1(x)& y(¬P2.(y))) z(P3(z)).

Вынести кванторы v, и z в префикс:

F= x v y(¬P1(x)&P2(v) P1(x)&¬P2.(y) P3(z)).

Преобразовать матрицу к виду КНФ: F= x v y((¬P1(x) P1(х) P3.(z))&(¬P1(x)¬P2(y) P3.(z))&

(P2(v) P1(x) P3.(z))&(P2(v)¬P12(y) P3.(z)).

Матрица ПНФ содержит три элементарных дизъюнкта: K={(¬P1(x)¬P2(y) P3.(z)), (P1(x) P2(v) P3.(z)), (P2

(v)¬P12(y) P3.(z)).

Пример 1.66. Дано F=( x(P1(х)y(P2(y)P3(z))))&

&( y(P24(x, y)P5.(z))). Привести формулу к виду ПНФ.

Удалить логические связки «»:

F=( x( P1(х) y( P2(y) P3(z))))&( y( P24(x, y) P5.(z))).

Применить закон x( F(x)) x( F(x)): F=( x( P1.(х) y( P2(y) P3(z))))&( y( ( P4(x, y) P5.(z))).

Применить закон (F1 F2)( F1&F2): F= x( P1.(х) y( P2(y) P3(z)))&( y(P24(x, y)&( P5.(z)))).

Переименовать связанную переменную x=w: F= w( P1(w) y( P2(y) P3(z)))&( y(P4(x, y)&( P5.(z)))).

Переименовать связанную переменную y=v: F= w( P1(w) v( P2(v) P3(z)))&( y(P4(x, y)&( P5.(z)))).

Вынести квантор v влево:

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

95

F= w v( P1(w) P2(v) P3(z))&( y(P4(x, y)&( P5.(z)))).

Вынести квантор y влево:

F= w v y( P1(w) P2(v) P3(z))&P4(x, y)&P5.(z).

Матрица ПНФ содержит три элементарных дизъюнкта: K={( P1(w) P2(v) P3(z)), P4(x, y), P5.(z)}.

Пример 1.67. Дано F= x y(P1 (х, y))&( x y(P2(x, y))).

Привести формулу к виду ПНФ.

Применить закон x(F(x)) x( F(x)):

F= x y(P21(х, y))&( x ( y(P2(x, y)))).

Применить закон x(F(x)) x( F(x)):

F= x y(P1(х, y))&( x y( (P2(x, y)))).

Вынести квантор x влево: F= x( y(P1(х, y))&y( (P2(x, y)))).

Переименовать связанную переменную y=v: F= x( z(P1(х, z))&y( (P2(x, y)))).

Вынести кванторы z и y влево:

x z y(P1(х, z)&P2(x, y)).

Матрица ПНФ содержит два элементарных дизъюнкта: K={P1(х, z), P2(x, y)}.

Пример 1.68. Дана матрица

M=P1(z)&P2(w) P2(х)&P1.(z) P3.(y). Привести формулу матрицы к виду КНФ.

Применить закон дистрибутивности:

M=P1.(z)&P2(w) (P2(х) P3.(y))&( P1(z) (P3.(y)). M=(P1.(z)&P2.(w) P2.(х) P3.(y))&(P1.(z)&P2.(w) P1.(z)

P3.(y)).