This second edition improves the first one with extra and expanded sections on temporal logic model checking, SAT solvers, second-order logic, the Alloy specification language, and programming by ...