go_back, travel_sym(Id), at(FutureLocation) , history(GrandparentId, LastLocation, ParentId), history(ParentId, Location) <=> history(GrandparentId, LastLocation) , at(Location) , travel_sym(ParentId) go_back, travel_sym(FutureID), at(FutureLocation), history(Id, Location) <=> at(Location) , travel_sym(Id) go_back <=> nowhere_to_go go_to(NewLocation), at(Location), history(ParentId, LastLocation), travel_sym(Id) <=> history(ParentId, LastLocation, Id), history(Id, Location) , at(NewLocation) , travel_sym(Id + 1) go_to(NewLocation), travel_sym(Id), at(Location) <=> history(Id, Location) , at(NewLocation) , travel_sym(Id + 1) start <=> at("Home"), travel_sym(0)