П р и м е р 3. Пусть θ = { t
1
/x
1
, t
2
/x
2
} = {F(y)/x, z/y}, λ = {q
1
/y
1
, q
2
/y
2
, q
3
/y
3
} = {c
1
/
x,c
2
/y,y/z} — подстановки сигнатуры Σ = { c
1
(0)
, c
2
(0)
, . F
(1)
}. Тогда t
1
/x
1
, t
2
/x
2
, q
1
/y
1
, q
2
/
y
2
, q
3
/y
3
} = {F(c
2
)/x,y/y,c
1
/x,c
2
/y,y/z}. Так как t
2
λ = у, то у/у должно быть вычеркнуто.
Так как х, у {х, у}, то c
1
/x,c
2
/y также должны быть вычеркнуты. Таким образом, θ о
= {F(c
2
)/x,
y/z}.
Подстановка θ сигнатуры Σ называется унификатором для множества {Φ
1
,..., Φ
k
}
формул сигнатуры Σ, если Φ
1
= ... = Φ
k
. Множество формул {Φ
1
,..., Φ
k
} сигнатуры Σ
называется унифицируемым, если для него существует унификатор сигнатуры Σ.
П р и м е р 4. Множество {P(c
1
,y),P(x,F(c
2
))} формул сигнатуры Σ = { c
1
(0)
, c
2
(0)
,
P
(2
,
)
. F
(1)
} унифицируемо, так как подстановка θ = {c
1
/x,F(c
2
)/y} является его
унификатором.
Унификатор σ для множества { Φ
1
,..., Φ
k
} формул сигнатуры Σ называется
наиболее общим унификатором (НОУ), если для каждого унификатора θ сигнатуры Σ
этого множества существует подстановка сигнатуры Σ такая, что θ = σ ο λ.
Пусть W = {Φ
1
,..., Φ
k
} — непустое множество атомарных формул сигнатуры Σ.
Множеством рассогласований в W называется множество термов {t
1
,...,t
k
}, где t
i
входит в
Ф
i
· и начинается с символа (который есть либо сигнатурный символ, либо переменная),
стоящего на первой слева позиции в Ф
i
·, на которой не для всех формул Φ
1
,..., Φ
k
находится один и тот же символ.
П р и м е р 5. Пусть W = {P(x,F(y,z)),P(x,c), P(x, F(y,F
1
(z))) — множество
формул сигнатуры Σ = {Р
(2)
, F
(2)
, F
1
(1)
}. Во всех трех формулах первые четыре символа
Р(х, совпадают, а на пятом месте в первой и второй формулах стоят разные символы: F, с.
Таким образом, множество рассогласований в W – { F(y,z),c, F(y,F
1
(z))}.
Алгоритм унификации предназначен для распознавания того, является ли данное
конечное непустое множество атомарных формул унифицируемым, и нахождения НОУ
для этого множества в случае его унифицируемости.
Пусть W — конечное непустое множество атомарных формул. Алгоритм
унификации для множества W:
Шаг 1. Полагаем k = 0, W
k
= W,
k
= ε.
Шаг 2. Если W
k
— одноэлементное множество, то остановка:
k
- НОУ для W. В
противном случае найдем множество D
k
рассогласований для W
k.
Шаг 3. Если существуют x
k
,, t
k
D
k
такие, что x
k
— переменная, не входящая в