Вам дана база данных на языке Prolog, содержащая описание некоторой семьи, где:
- предикат parent(a, b) означает, что a является родителем b.
- предикат man(x) означает, что x - мужчина.
- предикат woman(x) означает, что x - женщина.
Фрагмент базы выглядит так:
parent(bob, liz).
man(bob).
woman(liz).
Для подключения базы данных к вашей программе напишите в начале программы строчку:
:- use_module(library(family)).
Ваша задача - для двух заданных имён A и B определить:
1. является ли A матерью B
2. является ли A отцом B
3. является ли A братом или сестрой B
4. является ли B внуком или внучкой A
5. является ли B племянником или племянницей A
Исходные данные
Два имени A и B, каждое в отдельной строке.
Результат
Для каждого из пяти вышепривдённых утверждений выведите 'Yes', если данное утверждение верно, и ответ 'No', если оно неверно либо если в базе недостаточно информации.
Пример
Исходные данные | Результат |
bob
liz
| No
Yes
No
No
No
|
Пример решения задачи A+B на Prolog.
|