% Definition der Ehefrau-Ehemann-Relation:
ehemann(christine, heinz).
ehemann(maria,     fritz).
ehemann(monika,    herbert).
ehemann(angelika,  hubert).

% Definition der Kind-Mutter-Relation:
mutter(herbert, christine).
mutter(angelika,christine).
mutter(hubert,  maria).
mutter(susanne, monika).
mutter(norbert, monika).
mutter(andreas, angelika).

%vater(norbert,herbert) :- mutter(norbert,monika), ehemann(monika,herbert).
vater(Kind,Vater) :- mutter(Kind,Mutter), ehemann(Mutter,Vater).

grossvater(E,G) :- vater(E,V), vater(V,G).
grossvater(E,G) :- mutter(E,M), vater(M,G).

muetter(Ms) :- findall(M,mutter(_,M),Ms).

istVater(V) :- vater(_,V).

alle_vaeter(Vs) :- setof(V,istVater(V),Vs).


grossvaeter(Gs) :- findall((E,G), grossvater(E,G), Gs).

p(a).
p(a) :- p(a).
