Verification of Distributed Systems via Sequential Emulation