Я получаю дублированный список, когда пытаюсь найти / 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 к отличному результату?