Zdefiniuj wykres w Prologu: krawędź i ścieżka, sprawdzanie, czy istnieje ścieżka między dwoma wierzchołkami

Jestem bardzo nowy w Prologu. Zdefiniowałem wgraph.pl następujący wykres:

A oto mój kod Prolog:

edge(a,e).
edge(e,d).
edge(d,c).
edge(c,b).
edge(b,a).
edge(d,a).
edge(e,c).
edge(f,b).
path(X,X).
path(X,Y):- edge(X,Z) ; path(Z,Y).

Rozumiem to w ten sposób: istnieje ścieżka między wierzchołkiemX i wierzchołekY tylko wtedy, gdy istnieje krawędź między wierzchołkiemX i wierzchołekZ ORAZ istnieje ścieżka między wierzchołkiemZ i wierzchołekY (pewnego rodzaju rekurencja).

Czy to pasuje do prezentowanego wykresu? Kiedy pytam Prologa o ścieżkę między wierzchołkiemA i wierzchołekF to daje mitrue ... co nawet nie jest właściwe! Co może być nie tak w tym kodzie?

questionAnswers(4)

yourAnswerToTheQuestion