-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfamily_tree.pro
More file actions
84 lines (38 loc) · 1.1 KB
/
Copy pathfamily_tree.pro
File metadata and controls
84 lines (38 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
parent(raj,shrikant).
parent(bindumadhav,bal).
parent(udhhav,bal).
parent(aditya,udhhav).
parent(bal,keshav).
parent(raj,kunda).
parent(bal,rajnikant).
parent(shrikant,rajnikant).
parent(supriya,bal).
%
% More facts
%
male(raj).
male(shrikant).
male(bindumadhav).
male(bal).
male(aditya).
male(udhhav).
male(keshav).
male(rajnikant).
female(kunda).
female(supriya).
%
% associations
%
father(X,Y) :- parent(X,Y), male(X).
mother(X,Y) :- parent(X,Y), female(X).
sibling(X,Y) :- parent(X,Z), parent(Y,Z),X\=Y.
cousin(X,Y):-parent(X,A),parent(Y,B),sibling(A,B),male(A),male(B),X\=Y.
sister(X,Y) :- sibling(X,Y),female(Y), X\=Y.
uncle(X,Y):- parent(X,Z),sibling(Z,Y),male(Y),Z\=Y.
aunt(X,Y):- parent(X,Z),sibling(Z,Y),female(Y),Z\=Y.
grandparents(X,Y) :- parent(X,Z), parent(Z,Y).
grandfather(X,Y) :-parent(X,Z),parent(Z,Y), male(Y).
grandmother(X,Y) :-parent(X,Z),parent(Z,Y), female(Y).
greatgrandparents(X,G) :- parent(X,Z), parent(Z,Y),parent(Y,G).
greatgrandfather(X,G) :- parent(X,Z), parent(Z,Y),father(Y,G).
greatgrandmother(X,G) :- parent(X,Z), parent(Z,Y), mother(Y,G).