door(a,b).
door(b,e).
door(b,c).
door(d,e).
door(c,d).
door(e,f).
door(g,e).

go(X,X,T).
go(X,Y,T) :- door(X,Z), \+ member(Z,T), go(Z,Y,[Z|T]).
go(X,Y,T) :- door(Z,X), \+ member(Z,T), go(Z,Y,[Z|T]).

hasphone(g).