When several computers have to cooperate to achieve a certain task (i.e. distributed computing) we need 'recipes' (i.e. protocols) to tell them what to do. Unfortunately, human minds are not well suited to keeping track of what might happen given even a very simple protocol. In this book Dr Schoone shows how we can derive properties of those protocols that always hold (i.e. invariants), irrespective of what actually happens in an execution of the...