There are also solutions in which the two move events happen at the same time. For example: happens(move(red_block, table), 0). happens(move(green_block, red_block), 0). happens(tick, 1). happens(tick, 2).
There are also solutions in which the two move events happen at the same time For example happens(move(red_block table) 0) happens(move(green_block red_block) 0) happens(tick 1) happens(tick 2)