preorder(Tree,Pre). preorder(tree(X,L,R),Xs):- preorder(L,Ls), preorder(R,Rs), append ([X|Ls],Rs,Xs). preorder(void,[]). postorder(Tree,Post). postorder(tree,(X,L,R),Xs):- postorder (L,Ls), postorder(R,Rs), append(Rs,[X],Rs1), append(Ls,Rs1,Xs). postorder(void,[]). inorder(Tree,Pre). inorder(tree(X,L,R),Xs):- inorder(L,Ls), inorder(R,Rs), append (Ls,[X|Rs],Xs). preorder(void,[]).