Лекции-презентации по математической логики / MLLect07
.pdfИдея алгоритма унификации
Рассмотрим выражения P(a) и P(x).
Они не тождественны, т. к. в P(a) встречается константа a, а в P(x) на её месте переменная x.
Найдём рассогласование, а затем исключим его.
В данном случае рассогласование будет fa; xg.
Т. к. x переменная, а a константа, то можно заменить x на a и рассогласование будет устранено.
41 / 101
Идея алгоритма унификации
Рассмотрим выражения P(a) и P(x).
Они не тождественны, т. к. в P(a) встречается константа a, а в P(x) на её месте переменная x.
Найдём рассогласование, а затем исключим его.
В данном случае рассогласование будет fa; xg.
Т. к. x переменная, а a константа, то можно заменить x на a и рассогласование будет устранено.
42 / 101
Идея алгоритма унификации
Рассмотрим выражения P(a) и P(x).
Они не тождественны, т. к. в P(a) встречается константа a, а в P(x) на её месте переменная x.
Найдём рассогласование, а затем исключим его.
В данном случае рассогласование будет fa; xg.
Т. к. x переменная, а a константа, то можно заменить x на a и рассогласование будет устранено.
43 / 101
Идея алгоритма унификации
Рассмотрим выражения P(a) и P(x).
Они не тождественны, т. к. в P(a) встречается константа a, а в P(x) на её месте переменная x.
Найдём рассогласование, а затем исключим его.
В данном случае рассогласование будет fa; xg.
Т. к. x переменная, а a константа, то можно заменить x на a и рассогласование будет устранено.
44 / 101
Идея алгоритма унификации
Рассмотрим выражения P(a) и P(x).
Они не тождественны, т. к. в P(a) встречается константа a, а в P(x) на её месте переменная x.
Найдём рассогласование, а затем исключим его.
В данном случае рассогласование будет fa; xg.
Т. к. x переменная, а a константа, то можно заменить x на a и рассогласование будет устранено.
45 / 101
Множество рассогласований
Рассмотрим сначала процедуру нахождения множества рассогласований D непустого множества
выражений W = fE1; : : : ; Ek g. 1 Пусть сначала D = ?.
2Найти первую слева позицию, на которой не для всех выражений из W стоит´ один и тот же символ.
3Для каждого Ei 2 W : добавить в D подвыражение из Ei , которое начинается с символа, занимающего найденную позицию.
Пример
Для W = |
P |
x; f (y; z); a ; |
P(x; a; y); P x; g |
h k(x) |
; f (a; x) |
|
первая |
|
|
|
|
|
|
|
позиция, на которой не все выражения состоят из одинаковых |
символов пятая.
n o
Находим множество рассогласований: D = f (y; z); a; g h k(x) .
46 / 101
Множество рассогласований
Рассмотрим сначала процедуру нахождения множества рассогласований D непустого множества
выражений W = fE1; : : : ; Ek g. 1 Пусть сначала D = ?.
2Найти первую слева позицию, на которой не для всех выражений из W стоит´ один и тот же символ.
3Для каждого Ei 2 W : добавить в D подвыражение из Ei , которое начинается с символа, занимающего найденную позицию.
Пример
Для W = |
P |
x; f (y; z); a ; |
P(x; a; y); P x; g |
h k(x) |
; f (a; x) |
|
первая |
|
|
|
|
|
|
|
позиция, на которой не все выражения состоят из одинаковых |
символов пятая.
n o
Находим множество рассогласований: D = f (y; z); a; g h k(x) .
47 / 101
Множество рассогласований
Рассмотрим сначала процедуру нахождения множества рассогласований D непустого множества
выражений W = fE1; : : : ; Ek g. 1 Пусть сначала D = ?.
2Найти первую слева позицию, на которой не для всех выражений из W стоит´ один и тот же символ.
3Для каждого Ei 2 W : добавить в D подвыражение из Ei , которое начинается с символа, занимающего найденную позицию.
Пример
Для W = |
P |
x; f (y; z); a ; |
P(x; a; y); P x; g |
h k(x) |
; f (a; x) |
|
первая |
|
|
|
|
|
|
|
позиция, на которой не все выражения состоят из одинаковых |
символов пятая.
n o
Находим множество рассогласований: D = f (y; z); a; g h k(x) .
48 / 101
Множество рассогласований
Рассмотрим сначала процедуру нахождения множества рассогласований D непустого множества
выражений W = fE1; : : : ; Ek g. 1 Пусть сначала D = ?.
2Найти первую слева позицию, на которой не для всех выражений из W стоит´ один и тот же символ.
3Для каждого Ei 2 W : добавить в D подвыражение из Ei , которое начинается с символа, занимающего найденную позицию.
Пример
Для W = |
P |
x; f (y; z); a ; |
P(x; a; y); P x; g |
h k(x) |
; f (a; x) |
|
первая |
|
|
|
|
|
|
|
позиция, на которой не все выражения состоят из одинаковых |
символов пятая.
n o
Находим множество рассогласований: D = f (y; z); a; g h k(x) .
49 / 101
Множество рассогласований
Рассмотрим сначала процедуру нахождения множества рассогласований D непустого множества
выражений W = fE1; : : : ; Ek g. 1 Пусть сначала D = ?.
2Найти первую слева позицию, на которой не для всех выражений из W стоит´ один и тот же символ.
3Для каждого Ei 2 W : добавить в D подвыражение из Ei , которое начинается с символа, занимающего найденную позицию.
Пример
Для W = |
P |
x; f (y; z); a ; |
P(x; a; y); P x; g |
h k(x) |
; f (a; x) |
|
первая |
|
|
|
|
|
|
|
позиция, на которой не все выражения состоят из одинаковых |
символов пятая.
n o
Находим множество рассогласований: D = f (y; z); a; g h k(x) .
50 / 101