Model checking is a prominent technique used in the hardware and software industries for automatic verification. While it is very successful in finding subtle bugs in distributed systems, it faces the state explosion problem - the number of reachable states grows exponentially in the number of concurrent components. In this book the authors introduce unfoldings, an approach to model checking which alleviates the state explosion problem...