Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теорема дедукции.doc
Скачиваний:
10
Добавлен:
16.09.2019
Размер:
215.55 Кб
Скачать

Принцип резолюции для логики предикатов.

Если матрица формулы в результате приведения к виду ПНФ не будет содержать свободных переменных и сколемовских функций, то для вывода заключения полностью пpuменим алгоритм принципа резолюции, рассмотренный в исчислении высказываний. Этот алгоритм основывается на том, что если две формулы состоящие из дизъюнкции атомов (в дальнейшем такие формулы будем называть дизъюнктами ) связаны конъюнкцией, и в них имеются два одинаковых или приводимых к одинаковым (унифицируемых ) атома с разными знаками, то из них можно получить третий дизъюнкт , который будет логическим следствием первых двух, и в нем будут исключены эти два атома. Однако, если в результате приведения к виду ССФ аргументы атомов содержат сколемовские функции, то для поиска контрарных атомов необходимо выполнить подстановки термов вместо предметных переменных и получить новые формулы дизъюнктов, которые допускают их унификацию при формировании контрарных пар. Множество подстановок нужно формировать последовательно, просматривая каждый раз только одну предметную переменную.

Например, если даны два дизъюнкта (P1(x)ÚùP2(x)) и (ùP1(f(x))ÚP3(y)), то для получения контрарной пары атомов возможна подстановка

xòf(х)(P1(x)ÚùP2(x))=(P1(f(x))ÚùP2(f(x))) и

xòf(х)(ùP1(f(x))ÚP3(y))= (ùP1(f(x))ÚP3(y)).

В результате склеивания этих дизъюнктов может быть получена резольвента: (P1(f(x))ÚùP2(f(x)))Ú(ùP1(f(x))ÚP3(y))= (ùP2(f(x))Ú P3(y)).

Если пара дизъюнктов имеет вид (P1(f1(x))ÚùP2(x)) и (ùP1(f2(x))ÚP3(y)), то никакая подстановка не позволит сформировать резольвенту.

Пример: Даны две формулы P3(a;x;f(q(y))) и ùP3(z;f(z);f(u)).

Выполнить унификацию контрарных атомов.

1) zòa ùP3(z;f(z);f(u))=ùP3(a;f(a);f(u));

2) xòf(a) P3(a;x;f(q(y)))=P3(a;f(a);f(q(y)));

3) uòq(y) ùP3(a;f(a);f(u))=ùP3(a;f(a);f(q(y))).

В результате получены два контрарных атома: P3(a;f(a);f(q(y))) и ùP3(a;f(a);f(q(y))). Если в эти формулы атомов вместо предметной переменной y сделать подстановку предметной постоянной b, т.е.

yòbP3(a;f(a);f(q(y)))=P3(a;f(a);f(q(b))) и

yòbùP3(a;f(a);f(q(y)))= P3(a;f(a);f(q(b))),

то получим два контрарных высказывания.

Пример. Даны две формулы P3(x;a;f(q(a))) и ùP3(z;y;f(u)).

Выполнить унификацию контрарных формул.

1) xòbP3(x;a;f(q(a)))=P3(b;a;f(q(a)));

2) yòaù P3(z;y;f(u))=ùP3(z;a;f(u));

3) yòaùP3(z;a;f(u))=ùP3(b;a;f(u));

4) uòq(a)ùP3(b;a;f(u))=ùP3(b;a;f(q(a))).

В результате получены две контрарных формулы: P3(b;a;f(q(a))) и ùP3(b;a;f(q(a))).

Пример: Существуют студенты, которые любят всех преподавателей. Ни один из студентов не любит невежд. Следовательно, ни один из преподавателей не является невеждой. [1]

Пусть P1(x):=” x – студент”, P2(y):=”y – преподаватель”, P23(x, y):=”x любит y”, P4(y):=”y - невежда”.

Формулы этого суждение имеют вид:

$x(P1(x)&"y(P2 (y)®P23(x; y)));

"x(P1(x) ®"y(P4 (y)®ùP23(x; y)));

"y(P2 (y)®ùP4(y));

  • Преобразовать посылки и отрицание заключения в ССФ:

  1. F1=$x(P1(x)&"y(P2 (y)®P23(x; y)))= $x"y(P1(x)& (P2 (y)®P23(x; y)))= "y(P1(a)& (P2 (y)®P23(a; y)))= "y(P1(a)& (ùP2 (y)ÚP23(a; y)));

M1= P1(a)&(ùP2 (y)ÚP23(a; y));

  1. F2="x(P1(x) ®"y(P4 (y)®ùP23(x; y)))=

"x"y (P1(x) ® (P4 (y)®ùP23(x; y)))= "x"y (ùP1(x)ÚùP4 (y)ÚùP23(x; y)));

M2=(ùP1(x)ÚùP4 (y)ÚùP23(x; y));

  1. F3=ù"y(P2 (y)®ùP4(y))= $y(ù(ùP2(y)ÚùP4(y))= $y(P2(y) &P4(y))=

P2(b)&P4(b);

M3=P2(b)&P4(b).

  • Выписать множество дизъюнктов:

K={P1(a); (ùP2 (y)ÚP23(a; y)); (ùP1(x)ÚùP4 (y)ÚùP23(x; y)); P2(b); P4(b)};

  • Выполнить унификацию и формирование резольвент:

1) P2(b) Ú xòb(ùP2 (y)ÚP23(a; y))= P23(a; b);

2) P23(a; b)Úyòb (ùP1(x)ÚùP4 (y)ÚùP23(x; y))= (ùP1(x)ÚùP4 (b));

3) (ùP1(x)ÚùP4 (b)) Ú P1(a)= ùP4 (b)

4) ùP4 (b) ÚP4 (b)= .