Advertisement
Guest User

Untitled

a guest
Mar 18th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %факти:
  2. male('Ярослав').
  3. male('Олексій').
  4. male('Володимир').
  5. male('Михайло').
  6. male('Борис').
  7. male('Святослав').
  8. male('Сергій').
  9. male('Гліб').
  10.  
  11. female('Ганна').
  12. female('Наталя').
  13. female('Марина').
  14. female('Таня').
  15. female('Оля').
  16. female('Йося').
  17. female('Свєта').
  18.  
  19. relaship('Ярослав', 'Ганна').
  20. relaship('Олексій', 'Наталя').
  21. relaship('Володимир', 'Таня').
  22. relaship('Михайло', 'Оля').
  23. relaship('Святослав', 'Йося').
  24.  
  25.  
  26. parent('Ярослав', 'Марина').
  27. parent('Ярослав', 'Володимир').
  28.  
  29. parent('Ганна', 'Марина').
  30. parent('Ганна ', 'Володимир').
  31.  
  32. parent('Олексій', 'Тетяна').
  33. parent('Олексій', 'Світлана').
  34.  
  35. parent('Наталя', 'Тетяна').
  36. parent('Наталя', 'Світлана').
  37.  
  38. parent('Володимир', 'Борис').
  39. parent('Володимир', 'Святослав').
  40. parent('Тетяна', 'Борис').
  41. parent('Тетяна', 'Святослав').
  42. parent('Михайло', 'Йосипина').
  43. parent('Ольга', 'Йосипина').
  44. parent('Святослав', 'Сергій').
  45. parent('Святослав', 'Гліб').
  46. parent('Йосипина', 'Сергій').
  47. parent('Йосипина', 'Гліб').
  48.  
  49. %%запити
  50. %"Хто є і батьками, і має батьків"
  51. familys(X,Y):-
  52.     child(X,Y),
  53.     parent(X,_).
  54. %"Хто не має дітей"
  55. fams(X,Y):-
  56.     descendant(X, Y),
  57.     not(familys(X,Y)).
  58. %мати
  59. mother(X, Y) :-
  60.     parent(X, Y),
  61.     female(X).
  62. %батько
  63. father(X, Y) :-
  64.     parent(X, Y),
  65.     male(X).
  66. %діти
  67. child(X,Y) :-
  68.     parent(Y, X).
  69. %син
  70. son(X, Y) :-
  71.     child(X, Y),
  72.     male(X).
  73. %син
  74. daughter(X, Y) :-
  75.     child(X, Y),
  76.     female(X).
  77. %партнер
  78. partner(X, Y) :-
  79.     child(Z, X),
  80.     child(Z, Y),
  81.     X \= Y.
  82. %сестра
  83. sister(X, Y) :-
  84.     sibling(X, Y),
  85.     female(X),
  86.     X \= Y.
  87. %брат
  88. brother(X, Y) :-
  89.     sibling(X, Y),
  90.     male(X),
  91.     X \= Y.
  92. %дядько
  93. uncle(X, Y) :-
  94.     brother(X, Z),
  95.     child(Y, Z).
  96. %тітка
  97. aunt(X, Y) :-
  98.     sister(X, Z),
  99.     child(Y, Z).
  100.  
  101. grandparent(X, Y) :-
  102.     parent(X, Z),
  103.     parent(Z, Y).
  104.  
  105. grandchild(X, Y) :-
  106.     grandparent(Y, X).
  107. %дєдок
  108. grandfather(X, Y) :-
  109.     grandparent(X, Y),
  110.     male(X).
  111. %бабуля
  112. grandmother(X, Y) :-
  113.     grandparent(X, Y),
  114.     female(X).
  115. %теща
  116. mother_in_law(X,Y) :-
  117.     female(X),
  118.     mother(X, Z),
  119.     partner(Z, Y).
  120. %тесть
  121. father_in_law(X, Y) :-
  122.     male(X),
  123.     father(X, Z),
  124.     partner(Z, Y).
  125. %внучка
  126. granddaughter(X, Y) :-
  127.     grandchild(X, Y),
  128.     female(X).
  129. %внук
  130. grandson(X, Y) :-
  131.     grandchild(X, Y),
  132.     male(X).
  133.  
  134. ancestor(X, Y) :-
  135.     parent(X, Y).
  136.  
  137. ancestor(X, Y) :-
  138.     parent(Z, Y),
  139.     ancestor(X, Z).
  140.  
  141. descendant(X, Y) :-
  142.     ancestor(Y, X).
  143.  
  144. relative(X, Y) :-
  145.     ancestor(Z, X),
  146.     ancestor(Z, Y).
  147.  
  148. sibling(X, Y) :-
  149.     parent(Z, X),
  150.     parent(Z, Y),
  151.     X \= Y.
  152.  
  153.  
  154.  
  155. cousin(X, Y) :-
  156.     grandparent(Z, X),
  157.     grandparent(Z, Y),
  158.     \+sibling(X, Y),
  159.     X \= Y.
  160.  
  161. cousinonceremoved(X, Y) :-
  162.     cousin(Z, Y),
  163.     child(X, Z).
  164.  
  165. secondcousin(X, Y) :-
  166.     greatgrandparent(Z, X),
  167.     greatgrandparent(Z, Y),
  168.     \+sibling(X, Y),
  169.     \+cousin(X, Y),
  170.     X \= Y.
  171. %племінниця
  172. nephew(X, Y) :-
  173.     aunt(Y, X),
  174.     male(X);
  175.     uncle(Y, X),
  176.     male(X).
  177. %племінник
  178. niece(X, Y) :-
  179.     aunt(Y, X),
  180.     female(X);
  181.     uncle(Y, X),
  182.     female(X).
  183. %теща
  184. h_mother_in_law(X,Y):-
  185.     mother(X,K),
  186.     male(Y),
  187.     partner(K,Y).
  188. %свекруха
  189. w_mother_in_law(X,Y):-
  190.     mother(X,K),
  191.     female(K),
  192.     partner(Y,K).
  193. %тесть
  194. h_father_in_law(X,Y):-
  195.     father(X,K),
  196.     male(K),
  197.     partner(K,Y).
  198. %свекор
  199. w_father_in_law(X,Y):-
  200.     father(X,K),
  201.     female(X),
  202.     partner(Y,K).
  203. %зять
  204. son_in_law(X,Y):-
  205.     child(X,Z),
  206.     not(child(X,Y)),
  207.     partner(Z,Y),
  208.     male(X).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement