prolog-coroutining