DJ version 0.2 = version { BusRoute -> BusStop bypassing { BusRoute, BusStop, Person, -> *, buses, * } BusStop -> Person bypassing { BusRoute, BusStop, Person, -> *, buses, * } } source: { BusRoute, BusStop, Person } target: { BusStop, BusRoute, Person } Strategy graph begin before BusRoute before MyVector after MyVector before MyVector before BusStop before MyVector before Person after Person before Person after Person before Person after Person before Person after Person before Person after Person after MyVector after BusStop before BusStop before MyVector before Person after Person before Person after Person before Person after Person before Person after Person before Person after Person after MyVector after BusStop after MyVector after BusRoute end SUCCESS number of waiting persons = 10 Traversal Graph for from BusRoute through BusStop to Person Object: in copies {0, 1} Person: in copies {1} BusStop: in copies {0, 1} BusRoute: in copies {0} MyVector: in copies {0, 1} Bus: in copies {0, 1} -> BusStop,fwaiting,MyVector: in copies {1} -> BusRoute,fbuses,MyVector: in copies {0} => Object,BusStop: in copies {0}, intercopy table {{0, 1}} => Object,Bus: in copies {0, 1} -> BusRoute,fbusStops,MyVector: in copies {0} -> Bus,fpassengers,MyVector: in copies {0, 1} -> MyVector,elements,Object: in copies {0, 1} => Object,Person: in copies {1} Summarized Traversal Graph for from BusRoute through BusStop to Person BusStop = MyVector. MyVector = Object. BusRoute = MyVector MyVector. Object : BusStop | Bus | Person common . Bus = MyVector. Person = . ( BusRoute@19adc19, BusStop@1e82379, Person@170f895, Person@1d00c46, Person@1d5d2da, Person@105ed4e, Person@1ec570, BusStop@1e82379, Person@170f895, Person@1d00c46, Person@1d5d2da, Person@105ed4e, Person@1ec570 ) BusRoute@19adc19 BusStop@1e82379 Person@170f895 Person@1d00c46 Person@1d5d2da Person@105ed4e Person@1ec570 BusStop@1e82379 Person@170f895 Person@1d00c46 Person@1d5d2da Person@105ed4e Person@1ec570