% Operationen/Prädikate auf Mengen.
% Mengen dargestellt als sortierte Listen.

% durchschnitt(+Menge,+Menge,-Menge)
% durchschnitt(A,B,C) Durchschnitt von A und B ist C.
durchschnitt(A,B,C) :-
    findall(X, (member(X,A), member(X,B)), C).

vereinigung(A,B,C) :-
    findall(X, (member(X,A); member(X,B)), D),
    sort(D,C).

differenz(A,B,C) :-
    findall(X, (member(X,A), \+ member(X,B)), C).
