-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSTAMM.PL
75 lines (62 loc) · 1.88 KB
/
STAMM.PL
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
%-------------------------------------------------------
%
% Stammbaum
%
%
%-------------------------------------------------------
maennlich(fred).
maennlich(stephen).
maennlich(henry).
maennlich(peter).
maennlich(john).
maennlich(george).
maennlich(richard).
maennlich(james).
maennlich(robert).
weiblich(mary).
weiblich(donna).
weiblich(pamela).
weiblich(julia).
weiblich(elizabeth).
weiblich(roberta).
weiblich(susan).
weiblich(harriet).
weiblich(catherine).
weiblich(melissa).
elternteil(john,donna).
elternteil(john,mary).
elternteil(john,george).
elternteil(catherine, donna).
elternteil(catherine,mary).
elternteil(catherine,george).
elternteil(pamela,james).
elternteil(george,james).
elternteil(mary,julia).
elternteil(mary,peter).
elternteil(richard,julia).
elternteil(richard,peter).
elternteil(robert,stephen).
elternteil(robert,henry).
elternteil(elizabeth,stephen).
elternteil(elizabeth,henry).
elternteil(henry,harriet).
elternteil(henry,susan).
elternteil(roberta,harriet).
elternteil(roberta,susan).
elternteil(peter,melissa).
elternteil(harriet,melissa).
%%%%%%%%%%%%%%%% REGELN %%%%%%%%%%%%%%%%
mutter(X,Y):- elternteil(X,Y),weiblich(X).
vater(X,Y):- elternteil(X,Y),maennlich(X).
kind(X,Y):- elternteil(Y,X).
sohn(X,Y):- kind(X,Y),maennlich(X).
tochter(X,Y):- kind(X,Y),weiblich(X).
verheiratet(X,Y):- elternteil(X,Kind),elternteil(Y,Kind),X\= Y.
schwiegermutter(X,Y):-verheiratet(Y,Z),mutter(X,Z).
schwiegervater(X,Y):-verheiratet(Y,Z),kind(Z,X),maennlich(X).
grossmutter(X,Y):- kind(Y,Z),kind(Z,X),weiblich(X).
grossvater(X,Y):- kind(Y,Z),kind(Z,X),maennlich(X).
bruder(X,Y):-elternteil(Z,X),elternteil(Z,Y),maennlich(X), X\= Y.
vorfahr(X,Y):-elternteil(X,Z),vorfahr(Z,Y).
geschwister(X,Y):-elternteil(Z,X),elternteil(Z,Y), X\= Y.
nichte(N,OnkelTante):-weiblich(N), elternteil(N,X),geschwister(X,OnkelTante).