% bach(S1,S2)  Ein Bach fliesst vom See S1 in den See S2.
bach(bergsee,obersee).
bach(bergsee,mittelsee).
bach(obersee,untersee).
bach(mittelsee,untersee).
bach(untersee,talsee).

% fliesst1(S1,S2)  Wasser fliesst aus dem See S1 ueber genau einen
%                  weiteren See in den See S2.
fliesst1(S1,S2):-
    bach(S1,S),
    bach(S,S2).

% fliesst2(S1,S2)  Wasser fliesst aus dem See S1 ueber genau zwei
%                  weitere Seen in den See S2.
fliesst2(S1,S2):-
    bach(S1,S),
    fliesst1(S,S2).

% fliesst(S1,S2)  Wasser fliesst aus dem See S1 (direkt oder ueber
%                  ein oder mehr weitere Seen) in den See S2.
fliesst(S1,S2):-
    bach(S1,S2).
fliesst(S1,S2):-
    bach(S1,S),
    fliesst(S,S2).

% ?- fliesst(S1,S2).
