Hint
The general structure of the predicate travel/2
is
just as for the predicates path/2
and
ancestor_of/2
: we can travel from X to Y if we can
get from X to Y in one single step, and we can travel from X to
Y if we can make one step to Z and it is possible to travel from
Z to Y. The only difference with travel
is that
there are several possibilities of what 'one step' can look
like, because we can do it by car, train, or plane.