roads.lp 264 Bytes
road(berlin, potsdam).
road(potsdam, werder).
road(werder, brandenburg).
road(X, Y) :- road(Y, X).

blocked(werder, brandenburg).

route(X, Y) :- road(X, Y), not blocked(X, Y).
route(X, Y) :- route(X, Z), route(Z, Y).

drive(X) :- route(berlin, X).

#show drive/1.