|
mother(X, Y) :- female(X), parent(X, Y). |
|
father(X, Y) :- male(X), parent(X, Y). |
|
child(X, Y) :- parent(Y, X). |
|
sibling(X, Y) :- parent(TEMP, X), parent(TEMP, Y). |
|
sister(X, Y) :- parent(TEMP, X), parent(TEMP, Y), female(X). |
|
brother(X, Y) :- parent(TEMP, X), parent(TEMP, Y), male(X). |
|
daughter(X, Y) :- parent(Y, X), female(X). |
|
son(X, Y) :- parent(Y, X), female(X). |
|
uncle(X, Y) :- sibling(X, F), parent(F, Y), male(X). |
|
aunt(X, Y) :- sibling(X, F), parent(F, Y), female(X). |
|
cousin(X, Y) :- parent(A, X), parent(B, Y), sibling(A, B). |
|
|
|
male(mark). |
|
male(mel). |
|
male(richard). |
|
male(tom). |
|
male(adam). |
|
|
|
female(amy). |
|
female(jane). |
|
female(joan). |
|
female(betty). |
|
female(rosa). |
|
female(fran). |
|
|
|
parent(mel, joan). |
|
parent(jane, betty). |
|
parent(jane, tom). |
|
parent(richard, adam). |
|
parent(richard, rosa). |
|
parent(joan, fran). |
|
parent(mark, jane). |
|
parent(mark, richard). |
|
parent(amy, jane). |
|
parent(amy, richard). |
|
parent(amy, joan). |