maennlich(fritz).
maennlich(gunther).
maennlich(erich).
maennlich(lorenz).
maennlich(michael).
maennlich(klaus).
maennlich(arthur).
maennlich(bernd).
maennlich(leo).
maennlich(baldur).
maennlich(luc).
maennlich(alwin).
maennlich(toni).
maennlich(rob).
maennlich(john).
maennlich(paul).

weiblich(erna).
weiblich(lollo).
weiblich(ulla).
weiblich(viktoria).
weiblich(lina).
weiblich(lore).
weiblich(marilies).
weiblich(barbara).
weiblich(anita).
weiblich(ida).
weiblich(elisa).
weiblich(irene).
weiblich(lara).
weiblich(lysa).
weiblich(minna).
weiblich(anna).
weiblich(vreni).

elter(fritz,klaus).
elter(erna,klaus).
elter(gunther,lore).
elter(gunther,marilies).
elter(lollo,lore).
elter(lollo,marilies).
elter(erich,arthur).
elter(ulla,arthur).
elter(lorenz,barbara).
elter(viktoria,barbara).
elter(lorenz,bernd).
elter(viktoria,bernd).
elter(michael,anita).
elter(lina,anita).
elter(klaus,leo).
elter(lore,leo).
elter(arthur,elisa).
elter(barbara,elisa).
elter(arthur,baldur).
elter(barbara,baldur).
elter(bernd,luc).
elter(anita,luc).
elter(ida,alwin).
elter(leo,alwin).
elter(leo,toni).
elter(leo,rob).
elter(leo,lysa).
elter(leo,minna).
elter(elisa,toni).
elter(elisa,rob).
elter(elisa,lysa).
elter(elisa,minna).
elter(baldur,john).
elter(baldur,anna).
elter(irene,john).
elter(irene,anna).
elter(luc,paul).
elter(luc,vreni).
elter(lara,paul).
elter(lara,vreni).

vater(X,Y) :- elter(X,Y),maennlich(X).
mutter(X,Y) :- elter(X,Y),weiblich(X).
kind(X,Y) :- vater(Y,X);mutter(Y,X).
sohn(X,Y) :- kind(X,Y),maennlich(X).
tochter(X,Y) :- kind(X,Y),weiblich(X).

geschwister(X,Y) :- vater(V,X),vater(V,Y),mutter(M,X),mutter(M,Y),X\=Y.
bruder(X,Y) :- geschwister(X,Y),maennlich(X).
schwester(X,Y) :- geschwister(X,Y),weiblich(X).

halbgeschwister(X,Y) :- vater(VX,X),mutter(MX,X),vater(VY,Y),mutter(MY,Y),
    ((MX=MY,VX\=VY);(VX=VY,MX\=MY)).
halbbruder(X,Y) :- halbgeschwister(X,Y),maennlich(X).
halbschwester(X,Y) :- halbgeschwister(X,Y),weiblich(X).
