:- prompt(_, '').
:- use_module(library(readutil)).
main:-
process
process:-
% Se trata de un arbol genealogico muy simple
%
%
% Primero defino los parentescos basicos
% de la familia.
% padre(A,B) significa que B es el padre de A...
padre(juan,alberto).
padre(luis,alberto).
padre(alberto,leoncio).
padre(luisa,geronimo).
% Ahora defino las condiciones para que
% dos individuos sean hermanos
% hermano(A,B) significa que A es hermano de B...
hermano(A,B) :-
padre(A,P),
padre(B,P),
A \== B.
% Ahora defino el parentesco abuelo-nieto.
% nieto(A,B) significa que A es nieto de B...
nieto(A,B) :-
padre(A,P),
padre(P,B).
:- main.
Oi0gc2V0X3Byb2xvZ19mbGFnKHZlcmJvc2Usc2lsZW50KS4KOi0gcHJvbXB0KF8sICcnKS4KOi0gdXNlX21vZHVsZShsaWJyYXJ5KHJlYWR1dGlsKSkuCgptYWluOi0KCXByb2Nlc3MKCWhhbHQuCgpwcm9jZXNzOi0KJSBTZSB0cmF0YSBkZSB1biBhcmJvbCBnZW5lYWxvZ2ljbyBtdXkgc2ltcGxlCiUKJQolIFByaW1lcm8gZGVmaW5vIGxvcyBwYXJlbnRlc2NvcyBiYXNpY29zCiUgZGUgbGEgZmFtaWxpYS4KJSBwYWRyZShBLEIpIHNpZ25pZmljYSBxdWUgQiBlcyBlbCBwYWRyZSBkZSBBLi4uCgpwYWRyZShqdWFuLGFsYmVydG8pLgpwYWRyZShsdWlzLGFsYmVydG8pLgpwYWRyZShhbGJlcnRvLGxlb25jaW8pLgpwYWRyZShsdWlzYSxnZXJvbmltbykuCiUgQWhvcmEgZGVmaW5vIGxhcyBjb25kaWNpb25lcyBwYXJhIHF1ZQolIGRvcyBpbmRpdmlkdW9zIHNlYW4gaGVybWFub3MKJSBoZXJtYW5vKEEsQikgc2lnbmlmaWNhIHF1ZSBBIGVzIGhlcm1hbm8gZGUgQi4uLgpoZXJtYW5vKEEsQikgOi0KcGFkcmUoQSxQKSwKcGFkcmUoQixQKSwKQSBcPT0gQi4KJSBBaG9yYSBkZWZpbm8gZWwgcGFyZW50ZXNjbyBhYnVlbG8tbmlldG8uCiUgbmlldG8oQSxCKSBzaWduaWZpY2EgcXVlIEEgZXMgbmlldG8gZGUgQi4uLgpuaWV0byhBLEIpIDotCnBhZHJlKEEsUCksCnBhZHJlKFAsQikuCgl0cnVlLgoKOi0gbWFpbi4=