% 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(susanne,herbert) :- ehemann(monika,herbert), mutter(susanne,monika).
%vater(Kind,Vater) :- ehemann(Mutter,Vater), mutter(Kind,Mutter).
vater(K,V) :- ehemann(M,V), mutter(K,M).

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

istEhemann(M) :- ehemann(_,M).

%geschwister(S,P) :- mutter(S,M), mutter(P,M), \+ S=P.
%geschwister(S,P) :- mutter(S,M), mutter(P,M), S\=P.
%geschwister(S,P) :- \+ S=P, mutter(S,M), mutter(P,M). % does not work
geschwister(S,P) :- when(ground(\+ S=P), \+ S=P), % delay proof
                    mutter(S,M), mutter(P,M).


p(a,a).
p(a,b).
