Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Пусть имеется формула P (x,y,z). Ввести подстановку s это значит определить множество пар типа s = { t1/x, t2/y, t3/z },позволяющих заменить x на t1, y на t2, z на t3 во всех местах их вхождений. Полученная формула равносильна прежней: P (x,y,z) = P (t1, t2, t3).

Подстановки открывают широкие возможности при преобразовании формул. Простейший пример:

дана формула P (x,f (y) ,z) P (а,b,r).

Введем подстановку s1 = { а/x,b/f(y),r/z } для первого предиката и получим: P (а,b,r) P (а,b,r) = P (а,b,r), т.е. произошла "склейка" - распространенный прием в процессах вывода.

Проводя подстановки, надо следовать следующим правилам:

¨ подстановки применяются только для свободных переменных, в том числе и для функциональных, во всех местах их вхождений в данную формулу (предложение);

¨ переменную можно заменить константой, но нельзя константу заменить переменной;

¨ переменная не может быть заменена на терм, содержащий ту же самую переменную;

¨ подстановки могут касаться только некоторых термов предиката, остальные термы остаются без изменения;

¨ одна функция не может подставляться вместо другой, но может заменять переменную-аргумент;

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

К последнему правилу приведем простой пример. Формула y (x<y) отображает вполне корректное математическое условие (для любого х всегда найдется y, что x < y). Некорректная подстановка y/x приводит к ложному суждению: y (y < y).

Если к формуле Е применена подстановка s1, тo пишут Еs1. Так, если к предикату P (x,f (y) ,B) применена подстановка s1 = { z/x,w/y }, то можно написать P (x,f (y) ,B) s1 = P (z,f (w) ,B).

Если к полученной формуле применить еще подстановку s2= { C/z, D/f (w)}, то получится P (x,f (y) ,B) s1s2 = P (C,D,B).

Если все термы предиката не содержат переменных, то мы имеем "основной частный случай" ("основной пример").

Последовательное применение подстановок называется их композицией.

Некоторая подстановка s называется унифицированной (унификатором), если ее применение к ряду формул E1,E2,,... делает их равными: E1s = E2s = E3s... Например, подстановка s = { A/x,B/y } унифицирует формулы P (x,f (y) ,B) и P (x,f (B) ,B) и дает P (A,f (B) ,B).

Примечание. Обратите внимание, что предикатные символы при этом должны быть одинаковыми.

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

Пример 1. Унифицировать множество литералов:

{ P (a,x), P (y,f (b))}.

Поиск возможных подстановок начинаем с установления различий в термах обоих литералов, начиная с левых позиций. Первое рассогласование: (a,y). Tак как переменной здесь является y, то вводим подстановку s1= (а/y). Получаем пару литералов

{ P (a,x), P (a,f (b))}.

Очередное рассогласование: (x,f (b)). Теперь уже вводим подстановку s2 = (f (b) /x): { P (a,f (b)), P (a,f (b))}. Унификация состоялась. Общая подстановка имеет вид su = s1s2 = (a/y, f (b) /x).

Подстановка su, определенная таким образом, называется наиболее общим унификатором - ноу.

Пример 2. Определить ноу для пары литералов

P(x,f(x),z) и P(A,u,u).

Начинаем с левых позиций. Рассогласование: (x,A), подстановка
s1 = (A/x), литералы: P (A,f (A) ,z) и P (A,u,u). Рассогласование: (f (A) ,u),
s2 = (f (A) /u), литералы: P (A,f (A) ,z) и P (A,f (A) ,f (A)). Рассогласование: (z,f (A)), s3 = (f (A) /z).

Окончательно:

P(A,f(A),f(A)) и P(A,f(A),f(A)).

Наиболее общий унификатор su = s1s2s3 = (A/x,f (A) /u,f (A) /z).

<== предыдущая лекция | следующая лекция ==>
Обобщающий пример | Вывод в исчислении предикатов
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 951; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.