fork download
  1.  
  2. female(gerlinde).
  3. female(karin).
  4. female(lena).
  5. female(eva).
  6. female(paula).
  7. female(marlene).
  8.  
  9. male(alex).
  10. male(helmut).
  11. male(mark).
  12. male(andre).
  13.  
  14. parent(gerlinde,mark).
  15. parent(gerlinde, lena).
  16. parent(alex,mark).
  17. parent(alex, lena).
  18. parent(karin,andre).
  19. parent(karin,eva).
  20. parent(helmut,andre).
  21. parent(helmut,eva).
  22. parent(lena,paula).
  23. parent(lena,marlene).
  24. parent(andre,paula).
  25. parent(andre,marlene).
  26.  
  27. mother(M,C) :- female(M), parent(M,C).
  28. father(M,C) :- male(M), parent(M,C).
  29. grandparent(G,C) :- parent(G,A), parent(A,C).
  30. grandfather(G,C) :- parent(G,A), parent(A,C), male(G).
  31.  
  32.  
  33.  
  34. sister(S,X) :- female(S), mother(A,S), mother(A,X), father(B,S), father( B,X),X\==S.
Success #stdin #stdout 0.01s 5328KB
stdin
.

stdout
GNU Prolog 1.4.5 (64 bits)
Compiled Feb  5 2017, 10:30:08 with gcc
By Daniel Diaz
Copyright (C) 1999-2016 Daniel Diaz
| ?- 
uncaught exception: error(syntax_error('user_input:1 (char:1) expression expected'),read_term/3)
| ?-