train(st1,st4).
train(st1,st2).
train(st2,st3).
train(st3,st4).
train(st4,st5).
train(st3,st6).
train(st6,st5).
find(X,Y,[X|Y]):-train(X,Y).
find(X,Y,[X|Q]):-train(X,Z),find(Z,Y,Q).
findall2(X,Y):-find(X,Y,Q),write(Q),nl,fail.
Надеюсь, это то, что вы искали.