Не особо сложная лаба, надо разобраться с ProLog’ом. Для этого можно изучить:
1) Методичка <-максимальное одобрение автором
3) Запускаем и тренируемся на сайте
1) Создайте команду uncle(A, B). Создаём
uncle(A, B) :- parent(C,B), brother(A, C).
2) При работе правила поиска братьев Ивана Пятого “Феодор Романов” выдаётся дважды, а “Пётр Первый” всего лишь один раз. Почему так?
Дело в том, что команда поиска братьев ищет их по общим родителям. Так как Феодор является кровным братом, то он подходит в выражение и ПО МАТЕРИ, и по ПАПОЧКЕ, поэтому мы видим его дважды. А Пётр 1 является братом от другой жены отца и потому подходит лишь по отцовской линии, поэтому он есть лишь 1 раз в результате.