%%
%% declaraciones
%%
padrede( juan, maria) . % juan es padre de maria
padrede( pablo, jua'). % pablo es padre de juan
padrede(pablo, marcela).
padrede(carlos, debora).
% A es hijo de B si B es padre de A
hijode(A,B) :- padrede(B,A).
% A es abuelo de B si A es padre de C y C es padre B
abuelode(A,B) :-
padrede(A,C),
padrede(C,B).
% 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
hermanode(A,B) :-
padrede(C,A) ,
padrede(C,B),
A \== B.
% A y B son familiares si A es padre de B o A es hijo de B o A es hermano de B
familiarde(A,B) :-
padrede(A,B).
familiarde(A,B) :-
hijode(A,B).
familiarde(A,B) :-
hermanode(A,B).
%%
%% consultas
%%
% juan es hermano de marcela?
?- hermanode(juan, marcela).
JSUKJSUgZGVjbGFyYWNpb25lcwolJQpwYWRyZWRlKGp1YW4sIG1hcmlhKS4gJSBqdWFuIGVzIHBhZHJlIGRlIG1hcmlhCnBhZHJlZGUocGFibG8sIGp1YScpLiAlIHBhYmxvIGVzIHBhZHJlIGRlIGp1YW4KcGFkcmVkZShwYWJsbywgbWFyY2VsYSkuCnBhZHJlZGUoY2FybG9zLCBkZWJvcmEpLgogCiUgQSBlcyBoaWpvIGRlIEIgc2kgQiBlcyBwYWRyZSBkZSBBCmhpam9kZShBLEIpIDotIHBhZHJlZGUoQixBKS4KJSBBIGVzIGFidWVsbyBkZSBCIHNpIEEgZXMgcGFkcmUgZGUgQyB5IEMgZXMgcGFkcmUgQgphYnVlbG9kZShBLEIpIDotIAogICBwYWRyZWRlKEEsQyksIAogICBwYWRyZWRlKEMsQikuCiUgQSB5IEIgc29uIGhlcm1hbm9zIHNpIGVsIHBhZHJlIGRlIEEgZXMgdGFtYmnDqW4gZWwgcGFkcmUgZGUgQiB5IHNpIEEgeSBCIG5vIHNvbiBsbyBtaXNtbwpoZXJtYW5vZGUoQSxCKSA6LSAKICAgcGFkcmVkZShDLEEpICwgCiAgIHBhZHJlZGUoQyxCKSwgCiAgIEEgXD09IEIuICAgICAgICAKIAolIEEgeSBCIHNvbiBmYW1pbGlhcmVzIHNpIEEgZXMgcGFkcmUgZGUgQiBvIEEgZXMgaGlqbyBkZSBCIG8gQSBlcyBoZXJtYW5vIGRlIEIKZmFtaWxpYXJkZShBLEIpIDotIAogICBwYWRyZWRlKEEsQikuCmZhbWlsaWFyZGUoQSxCKSA6LQogICBoaWpvZGUoQSxCKS4gCmZhbWlsaWFyZGUoQSxCKSA6LSAKICAgaGVybWFub2RlKEEsQikuCiUlCiUlIGNvbnN1bHRhcwolJQolIGp1YW4gZXMgaGVybWFubyBkZSBtYXJjZWxhPwo/LSBoZXJtYW5vZGUoanVhbiwgbWFyY2VsYSku