Está en la página 1de 3

Árbol Genealógico prolog

% Autor:
% Fecha: 19/11/2018

hombre(manuel).
hombre(humberto).
hombre(luis).
hombre(jose).
hombre(jorge).
hombre(santiago).
hombre(pedro).
hombre(carlos).
hombre(guillermo).
hombre(cristian).
hombre(fabricio).

mujer(juana).
mujer(maria).
mujer(cristina).
mujer(custodia).
mujer(alejandra).
mujer(paulina).
mujer(camila).
mujer(evelyn).
mujer(gladys).
mujer(ana).
mujer(mayra).
mujer(blanca).
mujer(liliana).

pareja(manuel,juana).
pareja(juana,manuel).
pareja(jose, maria).
pareja(maria,jose).
pareja(humberto, cristina).
pareja(cristina, humberto).
pareja(santiago, gladys).
pareja(gladys, santiago).

progenitor(manuel, humberto).
progenitor(juana, humberto).
progenitor(jose, cristina).
progenitor(maria, cristina).
progenitor(jose, santiago).
progenitor(maria, santiago).
progenitor(humberto, camila).
progenitor(cristina, camila).
progenitor(humberto, fabricio).
progenitor(cristina, fabricio).

% X es padre de Y

padre(X,Y) :- hombre(X), progenitor(X,Y).

% X es madre de Y

madre(X,Y) :- mujer(X), progenitor(X,Y).

% X es hermanos de Y

hermanos(X,Y) :- progenitor(Z,X), progenitor(Z,Y), not(X = Y).

% X es hermano de Y
hermano(X,Y) :- hombre(X), hermanos(X,Y).

% X es hermana de Y
hermana(X,Y) :- mujer(X), hermanos(X,Y).

% X es esposo de Y
esposo(X,Y) :- hombre(X), pareja(X,Y).

% X es esposa de Y
esposa(X,Y) :- mujer(X), pareja(X,Y).

% Z es suegro de X
suegro(Z,X) :- hombre(Z) , pareja(X,Y), progenitor(Z,Y).

% Z es suegra de Y
suegra(Z,X) :- mujer(Z) , pareja(X,Y), progenitor(Z,Y).

% Z es yerno de X
yerno(Z,X) :- hombre(Z) , padre(Z,Y) , esposo(X,Y).

% Z es nuera de X
nuera(Z,X) :- mujer(Z) , madre(Z,Y) , esposa(X,Y).

% Z es cuñado de X
cuñado(Z,X) :- hombre(Z), hermanos(Z,Y), pareja(X,Y).

% Z es cuñada de X
cuñada(Z,X) :- mujer(Z), hermanos(Z,Y), pareja(X,y).
% Z es abuelo de X

abuelo(Z,X) :- hombre(Z), progenitor(Y,X), progenitor(Z,Y).

% Z es abuela de X

abuela(Z,X) :- hombre(Z), progenitor(Y,X), progenitor(Z,Y).

% Z es nieto de X
nieto(Z,X) :- hombre(Z), progenitor(X,Y), progenitor(Y,Z).

% Z es nieta de X
nieta(Z,X) :- mujer(Z), progenitor(X,Y), progenitor(Y,Z).

También podría gustarte