Я получаю дублированный список, когда пытаюсь найти все/3 возможных пути на графике? Есть идеи, что не так с кодом? Схема дублирования: S:6 дублируется с S:13, S:7 с S:14, S:8 с S:15 и так далее.
co(X,Y) :- hen(X,Y) ; hen(Y,X).
pan(A, B, _, [A,B]) :- co(A, B).
pan(A, B, Vix, [A | Len]) :-
co(A, C),
C \== B,
\+ member(C, Vix),
pan(C, B, [C | Vix], Len).
long_p(A, B):-
findall(Len, pan(A,B,[A],Len), Z),
printT(Z,0).
printT([],_).
printT([H|T],V) :-
V1 is V + 1,
write('S: '), write(V1), nl,
write(H), nl,
nl,
printT(T,V1).
Будет ли Prolog findall/3 возвращать отличный результат?