Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 2.87 KB | None | 0 0
  1. male(tom).
  2. male(doug).
  3. male(mason).
  4. male(mike).
  5. male(josh).
  6. male(joey).
  7. male(james).
  8. male(mac).
  9. male(sam).
  10. male(gabe).
  11. male(raleigh).
  12. male(sean).
  13. male(gpa_sam).
  14.  
  15. female(marcia).
  16. female(tracy).
  17. female(autumn).
  18. female(emma).
  19. female(hannah).
  20. female(kendra).
  21. female(haley).
  22. female(elizabeth).
  23. female(kate).
  24. female(izzy).
  25. female(rozzy).
  26. female(addie).
  27. female(stacy).
  28. female(april).
  29. female(huldah).
  30.  
  31. is_married(tom, marcia).
  32. is_married(doug, tracy).
  33. is_married(mike, kenda).
  34. is_married(james, kate).
  35. is_married(sam, stacy).
  36. is_married(gpa_sam, huldah).
  37.  
  38. married(A, B) :-
  39.     is_married(A, B);
  40.     is_married(B, A).
  41.  
  42. is_parent(tom, doug).
  43. is_parent(tom, mike).
  44. is_parent(tom, kate).
  45.  
  46. is_parent(gpa_sam, sam).
  47. is_parent(gpa_sam, tracy).
  48.  
  49. is_parent(doug, mason).
  50. is_parent(doug, autumn).
  51. is_parent(doug, emma).
  52. is_parent(doug, hannah).
  53.  
  54. is_parent(mike, josh).
  55. is_parent(mike, haley).
  56. is_parent(mike, joey).
  57. is_parent(mike, elizabeth).
  58.  
  59. is_parent(james, izzy).
  60. is_parent(james, rozzy).
  61. is_parent(james, addie).
  62. is_parent(james, mac).
  63.  
  64. is_parent(sam, april).
  65. is_parent(sam, gabe).
  66. is_parent(sam, raleigh).
  67. is_parent(sam, sean).
  68.  
  69. parent(PARENT, CHILD) :-
  70.     is_parent(PARENT, CHILD);
  71.     is_married(HUSBAND, PARENT),
  72.     is_parent(HUSBAND, CHILD).
  73.  
  74. father(PARENT, CHILD) :-
  75.     male(PARENT),
  76.     parent(PARENT, CHILD).
  77.  
  78. mother(PARENT, CHILD) :-
  79.     female(PARENT),
  80.     parent(PARENT, CHILD).
  81.  
  82. child(CHILD, PARENT) :-
  83.     parent(PARENT, CHILD).
  84.  
  85. son(SON, PARENT) :-
  86.     male(SON),
  87.     child(SON, PARENT).
  88.  
  89. daughter(DAUGHTER, PARENT) :-
  90.     female(DAUGHTER),
  91.     child(DAUGHTER, PARENT).
  92.  
  93. sibling(CHILD, SIBLING) :-
  94.     is_parent(P, CHILD),
  95.     is_parent(P, SIBLING).
  96.  
  97. brother(CHILD, SIBLING) :-
  98.     male(CHILD),
  99.     sibling(CHILD, SIBLING).
  100.  
  101. sister(CHILD, SIBLING) :-
  102.     female(CHILD),
  103.     sibling(CHILD, SIBLING).
  104.  
  105. grandparent(GRANDPARENT, GRANDCHILD) :-
  106.     parent(GRANDPARENT, P),
  107.     parent(P, GRANDCHILD).
  108.  
  109. grandfather(GRANDFATHER, GRANDCHILD) :-
  110.     male(GRANDFATHER),
  111.     grandparent(GRANDFATHER, GRANDCHILD).
  112.  
  113. grandmother(GRANDMOTHER, GRANDCHILD) :-
  114.     female(GRANDMOTHER),
  115.     grandparent(GRANDMOTHER, GRANDCHILD).
  116.  
  117. grandchild(GRANDCHILD, GRANDPARENT) :-
  118.     grandparent(GRANDPARENT, GRANDCHILD).
  119.  
  120. grandson(GRANDSON, GRANDPARENT) :-
  121.     male(GRANDSON),
  122.     grandchild(GRANDSON, GRANDPARENT).
  123.  
  124. granddaugther(GRANDDAUGHTER, GRANDPARENT) :-
  125.     female(GRANDDAUGHTER),
  126.     grandchild(GRANDDAUGHTER, GRANDPARENT).
  127.  
  128. cousin(PERSON, OTHER) :-
  129.     grandchild(PERSON, X),
  130.     grandchild(OTHER, X),
  131.     \+ sibling(PERSON, OTHER).
  132.  
  133. aunt(AUNT, OTHER) :-
  134.     female(AUNT),
  135.     sister(AUNT, P),
  136.     parent(P, OTHER).
  137.  
  138. descendant(PERSON, ANCESTOR) :-
  139.     parent(ANCESTOR, PERSON) ;
  140.     parent(ANCESTOR, X),
  141.     descendant(PERSON, X).
  142.  
  143. ancestor(ANCESTOR, PERSON) :-
  144.     descendant(PERSON, ANCESTOR).
  145.  
  146. related(PERSON, OTHER) :-
  147.     descendant(PERSON, X),
  148.     descendant(OTHER, X);
  149.     descendant(PERSON, OTHER);
  150.     descendant(OTHER, PERSON).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement