Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАТ_ ЛОГИКА / МАТЕМАТИЧЕСКАЯ ЛОГИКА_ЛК9_12_03_2012_Метод резолюций (для предикатов).doc
Скачиваний:
148
Добавлен:
06.06.2015
Размер:
376.32 Кб
Скачать

13.7. Подстановка и унификация

Применение метода резолюций в логике предикатов усложня­ется тем, что дизъюнкты содержат термы, которые могут не совпадать в двух одинаковых литерах. Например, С1=Р(х)Q(x), С2=Р(f(а))V(a). В этих дизъюнктах нет контрарных литер, однако, если мы подставим f(а) вместо x в С1, то получим С1=Р(f(а))Q(f(я)); теперь литеры Р(f(а)) и Р(f(а)) будут уже контрарные. Получим резольвенту Q(f(а))V(a).

Такая процедура подстановки одних термов вместо других с целью получения контрарных литер называется унификацией.

Определение 13.14. Подстановка — это конечное множество вида {t1/v1, ..., tn/vn}, где vi – переменная, ti - терм, отличный от vi, и все vi различны.

Определение 13.15. Пусть  = {t1/v1, ..., tn/vn}, и Е— выражение. Тогда Е выражение, полученное из Е заменой всех вхождений переменных vi(1in) на термы ti.

Определение 13.16. Пусть  = {t1/v1, ..., tn/vn},  = {u1/y1, ..., uk/yk} – подстановки. Композиция подстановок ° получается из мно­жества {t1/v1, ..., tn/vn, u1/y1, ..., uk/yk} вычеркиванием всех элементов tj/vj, для которых tj=vj. (тождественная подстанов­ка), и всех элементов ui/yi. таких, что уi{vi, …, vn}.

Пример. Пусть  = {t1/v1, t2/v2} = {f(y)/x, z/y} ={u1/y1, u2/y2, u3/y3}={a/x, b/y, y/z}. Тогда °= {t1/v1, t2/v, u1/y1, u2/y2, u3/y3}={f(b)/x, y/y, a/x, b/y, y/z}. Так как t2/x=y/y, то y/y должно быть вычеркнуто из множества °. Элементы а/х, b/у также долж­ны быть вычеркнуты, так как подстановки для х и у уже определены. В результате получаем: ° = {f(b)/х, у/z).

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

Определение 13.17. Подстановка  называется унификатором множества {Е1, ..., Еm} тогда и только тогда, когда Е1 = ... = Еm. Множество {Е­1, ..., Em} называется унифицируемым, если для него существует унификатор. Унификатор  для множества выраже­ний {Е1, ..., Еm} называется наиболее общим унификатором, если для каждого унификатора  этого множества существует такая подстановка , что  = о.

Например, для двух дизъюнктов {Р(а, у), Р(х, f(b)} подстановка {а/х, f(b)/у} является наиболее общим унификатором.

Введя понятие унификации, мы можем рассмотреть метод резо­люции для логики первого порядка.

Определение 13.18. Если две или более литер (с одинаковым знаком) дизъюнкта С имеют наиболее общий унификатор , то С называется склейкой С. Если С - единичный дизъюнкт, то склейка называется единичной склейкой.

Пример. Пусть С = Р(х)Р(f(у))Q(х). Тогда первая и вто­рая литеры имеют наиболее общий унификатора ={f(y)/x}. Следо­вательно, С = Р(f(у))Q(f(у)) есть склейка С.

Определение 13.19. Пусть С1, и С2 - два дизъюнкта (называемые дизъюнктами-посылками), которые не имеют никаких общих переменных. Пусть L1, и L2 две литеры в С1, и С2, соответствен­но. Если L1 и L2 имеют наиболее общий унификатор , то дизъюнкт (C1\L1)(C1\L1) называется (бинарной) резольвентой С1, и С2.Литеры L1 и L2 называются отрезаемыми литерами.

Определение 13.20. Резольвентой дизъюнктов-посылок С1, и С2 является одна из следующих резольвент:

1) бинарная резольвента С1 и С2;

2) бинарная резольвента С1 и склейки С2;

3) бинарная резольвента С1 и склейки С1;

4) бинарная резольвента склейки С1, и склейки С2.

Пример. Пусть C1=P(x)P(f(y))R(g(y)) и C2 = P(f(g(a)))Q(b). Склейка C1 есть C2=P(f(y))R(g(y)). Выполним подста­новку g(а)/у. Бинарная резольвента С1 и С2 есть R(g(g(a)))Q(b). Следовательно, R(g(g(a)))Q(b) есть резольвента С1 и С2.