Процедура «мать*:
Процедура «отец*:
отец (X, Y): мужчина(Х), родитель (X, Y)
Процедура "брат":
брат (X,Y): мужчина (X), родитель (Р, X), родитель (Р, Y), XOY
Процедура «сестра»:
сестра (X, Y): женщина (X), родитель (Р, X), родитель (Р, Y),
Процедура «дядя»:
дядя (X, Y): брат (X, Р), родитель (Р, Y)
Пусть задана некоторая сложная, т.е. опирающаяся не на факт, а требующая вывода, цель (запись цели образует фрейм), с которой мы обратились к этой БЗ, например
дядя (X, Y), тогда решение (вывод) заключается в нахождении всех пар переменных (имен объектов)
Используем прием трансформации цели, заключающийся в рекурсивном переборе различных вариантов подстановки вместо предикатов, составляющих сложную цель, правых частей клозов соответствующих процедур. В результате производится фиксация варианта связывания переменных и унификация, при которой отбрасываются несовместимые варианты, т.е. противоречащие фактам и правилам. Варианты связывания всех переменных, прошедшие все этапы унификации, являются решением.