Advertisement
symonhasan

Family Tree

Oct 31st, 2019
574
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.27 KB | None | 0 0
  1. male( philip ).
  2. male( goerge ).
  3. male( archie ).
  4. male( charles ).
  5. male( william ).
  6. male( harry ).
  7. male( louis ).
  8. female( elizabeth ).
  9. female( diana ).
  10. female( catherin ).
  11. female( meghan ).
  12. female( charlotte ).
  13. parent( elizabeth , charles).
  14. parent( philip , charles ).
  15. parent( charles , william ).
  16. parent( charles , harry ).
  17. parent( diana , william ).
  18. parent( diana , harry ).
  19. parent( william , goerge).
  20. parent( william , charlotte).
  21. parent( william , louis ).
  22. parent( catherin , goerge).
  23. parent( catherin, charlotte).
  24. parent( catherin , louis ).
  25. parent( harry , archie).
  26. parent( meghan , archie).
  27.  
  28. child( X , Y ) :- parent( Y , X ).
  29. grandparent( X , Y ) :- parent( X , Z ) , parent( Z , Y ).
  30. grandchild( X , Y ) :- grandparent( Y , X ). /*X is a grandchild of Y is Y is Grandparent of X*/
  31. wife( X , Y ) :- child( Z , X ) , child( Z , Y ) , male( Y ) , female( X ).
  32. sibling( X , Y ) :- parent( Z , X ) , child( Y , Z ) , X\=Y.
  33. uncle( X, Y ) :- parent( Z , Y ) , sibling( Z , X ) , male( X ) , male( Z ) , Z\=X.
  34. aunt( X , Y ) :- uncle( Z , Y ) , wife( X , Z ) , female( X ).
  35. nephew( X , Y ) :- uncle( Y , X ) , male( X ).
  36. nephew( X , Y ) :- aunt( Y , X ) , male( X ).
  37. niece( X , Y ) :- uncle( Y , X ) , female( X ).
  38. niece( X , Y ) :- aunt( Y , X ) , female( X ).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement