Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР по Мат логике / DMiML-2_chast.doc
Скачиваний:
112
Добавлен:
06.02.2016
Размер:
3.34 Mб
Скачать

18. Использование метода резолюций в логике предикатов

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

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

Подстановка – приём, в результате которого из некоторых данных формул получают их частные случаи, например, {(t1,x1),…,(tn,xn)}, где пара (tj,xi) означает, что всюду, где производится данная подстановка, переменная xi заменяется термом tj.

Пример [29].

Литерал Р(х,f(y),b) после подстановок:

1={(z,x), (w,y)}; 2={(a,y)}; 3={(g(z),x), (a,y)}

имеет вид:

P1=P(z,f(w),b); P2=P(x,f(a),b); P3=P(g(z),f(a),b).

Здесь Pi означает частный случай Р, полученный при подстановке i.

Композиция двух подстановок i и j.

Композиция подстановок ij получается при применении подстановки j к термам подстановки i, с последующим добавлением любых пар из j, содержащих переменные, не входящие в число переменных из i [29].

Например:

i={(f(x),z)} и j={(a,x),(b,y),(d,z)}, то ij={(f(а),z),(b,y)}.

Нетрудно убедиться, что применение к литералу последовательно подстановок i и j даёт тот же результат, что и применение подстановки ij: .

Композиция подстановок ассоциативна: (ij)k=i(jk).

Унификация.

Множество литералов {Li} называется унифицированным, если существует такая подстановка , что L1=L2=,…=Ln; .

Подстановка  называется унификатором для {Li}.

Унификация применяется и для формул. Формулы, имеющие совместный частный случай, называются унифицируемыми, а набор подстановок – общим унификатором.

Наименьший возможный унификатор называется наиболее общим унификатором.

Известен алгоритм унификации, определяющий, являются ли две заданные формулы унифицируемыми, и, если это так, то позволяющий найти наиболее общий унификатор.

Заметим, что при подстановке переменная заменяется термом, но терм не может быть заменен термом! Т.е., вместо переменной может быть подставлена константа, другая переменная, функция, но вместо константы или функции ничего не может быть подставлено!

18.2. Резольвенция и факторизация

При доказательстве теорем в математической логике используются представления суждений в виде дизъюнкции литералов (в виде предложений, в клаузальной форме). Литерал L1 называется дополнительным литералу L2, если L1 является отрицанием L2.

Резольвента двух предложений получается следующим образом [29]:

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

2) находится подстановка, при которой какой-либо литерал одного предложения становится дополнительным к какому-либо литералу другого предложения и эта подстановка производится в оба предложения;

3) литералы, дополнительные друг к другу, вычёркиваются;

4) если имеются одинаковые литералы, то все они, кроме одного в каком-либо предложении вычёркиваются;

5) дизъюнкция литералов, оставшихся в обоих предложениях, и есть резольвента.

Используется также факторизация. Фактором какого-либо предложения называется следствие этого предложения [29]:

1) находится подстановка при которой какие-либо литералы одинаковы;

2) после выполнения этой подстановки все одинаковые литералы, кроме одного, вычёркиваются;

3) дизъюнкция оставшихся литералов и есть фактор.

Процесс нахождения фактора называется факторизацией.

Пример [29].

Резольвента при подстановке {(g(x),x}, то есть g(x) заменяет x.

.

Здесь резольвенты нет. Переменные: x, y – термы: g(x), f(x).

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

Пример [26].

{P(x,a,f(g(a))),P(z,y,f(u))}.

В этом случае наименьший общий унификатор: {(z,x),(a,y),(g(a),u)}.

Просто унификатор: {(b,x),(a,y),(b,z),(g(a),u)}.

Соседние файлы в папке КР по Мат логике