% Aufgabe 1 (a)
    
weiblich(monika).
weiblich(karin).
weiblich(renate).
weiblich(susanne).
weiblich(aline).

maennlich(werner).
maennlich(klaus).
maennlich(gerd).
maennlich(peter).
maennlich(dominique).

verheiratet(werner, monika).
verheiratet(gerd, renate).
verheiratet(klaus, susanne).

mutterVon(monika, karin).
mutterVon(monika, klaus).
mutterVon(renate, susanne).
mutterVon(renate, peter).
mutterVon(susanne, aline).
mutterVon(susanne, dominique).

mensch(X).

vaterVon(V, K) :- verheiratet(V, F), mutterVon(F, K).

elternTeil(X, Y) :- mutterVon(X, Y).
elternTeil(X, Y) :- vaterVon(X, Y).

vorfahre(V, X) :- elternTeil(V, X).
vorfahre(V, X) :- elternTeil(V, Y), vorfahre(Y, X).

geschwisterVon(X,Y) :- mutterVon(Z,X), mutterVon(Z,Y).

% Aufgabe 1 (b)

append(nil,XS,XS).
append(cons(X,XS),YS,cons(X,ZS)):-append(XS,YS,ZS).

concat(nil,nil).
concat(cons(XS,XSS),YS):-concat(XSS,ZS),append(XS,ZS,YS).



