konkat([],Ys,Ys). konkat([X|Xs],Ys,[X|Zs]) :- konkat(Xs,Ys,Zs). blaetter(leaf(E),[E]). blaetter(branch(L,R),LRs) :- blaetter(L,Ls), blaetter(R,Rs), konkat(Ls,Rs,LRs). swapTree(leaf(E),leaf(E)). swapTree(branch(L,R),branch(SR,SL)) :- swapTree(L,SL), swapTree(R,SR).