-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMax .pl
76 lines (71 loc) · 1.34 KB
/
Max .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
76
/*
* domains
name=symbol
predicates
parent(name,name)
female(name)
male(name)
mother(name,name)
father(name,name)
brother(name,name)
sister(name,name)
sibling(name,name)
clauses
*/
male(gitahi).
male(peter).
male(solomon).
male(edmund).
male(kenneth).
male(maxwell).
male(ian).
male(noah).
male(jabali).
male(jelani).
male(alfy).
female(wambui).
female(grace).
female(faith).
female(nelly).
female(tracy).
female(sarah).
female(esther).
female(nissy).
female(nadia).
female(carol).
female(neema).
parent(gitahi,peter).
parent(gitahi,solomon).
parent(wambui,peter).
parent(wambui,solomon).
parent(peter,edmund).
parent(peter,kenneth).
parent(grace,edmund).
parent(grace,kenneth).
parent(solomon,patrick).
parent(solomon,nelly).
parent(faith,patrick).
parent(faith,nelly).
parent(patrick,nissy).
parent(patrick,nadia).
parent(esther,nissy).
parent(esther,nadia).
parent(nelly,jabali).
parent(nelly,jelani).
parent(alfy,jabali).
parent(alfy,jelani).
parent(edmund,maxwell).
parent(edmund,ian).
parent(edmund,neema).
parent(sarah,maxwell).
parent(sarah,ian).
parent(sarah,neema).
parent(kenneth,tracy).
parent(kenneth,noah).
parent(carol,tracy).
parent(carol,noah).
mother(X,Y):-parent(X,Y),female(X).
father(X,Y):-parent(X,Y),male(X).
sibling(X,Y):-parent(Z,X),parent(Z,Y),X\=Y.
spouse(X,Y):-parent(X,Z), parent(Y,Z),X\=Y.
grandparent(X,Y):-parent(X,A),parent(A,Y).