fork download
  1. %%
  2. %% declaraciones
  3. %%
  4. padrede('juan', 'maria'). % juan es padre de maria
  5. padrede('pablo', 'juan'). % pablo es padre de juan
  6. padrede('pablo', 'marcela').
  7. padrede('carlos', 'debora').
  8.  
  9. % A es hijo de B si B es padre de A
  10. hijode(A,B) :- padrede(B,A).
  11. % A es abuelo de B si A es padre de C y C es padre B
  12. abuelode(A,B) :-
  13. padrede(A,C),
  14. padrede(C,B).
  15. % A y B son hermanos si el padre de A es también el padre de B y si A y B no son lo mismo
  16. hermanode(A,B) :-
  17. padrede(C,A) ,
  18. padrede(C,B),
  19. A \== B.
  20.  
  21. % A y B son familiares si A es padre de B o A es hijo de B o A es hermano de B
  22. familiarde(A,B) :-
  23. padrede(A,B).
  24. familiarde(A,B) :-
  25. hijode(A,B).
  26. familiarde(A,B) :-
  27. hermanode(A,B).
  28. %%
  29. %% consultas
  30. %%
  31. % juan es hermano de marcela?
  32. ?- hermanode('juan', 'marcela').
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.pl:32:4: syntax error: . or operator expected after expression
	1 error(s)
compilation failed
stdout
Standard output is empty