The subject of this book is the synthesis of synchronous hardware. The purpose is to provide a firm mathematical foundation for the so-called space-time mapping methods for hardware synthesis that have been proposed during the last few years. Thus the treatment is fairly mathematical. In a space-time mapping method, an algorithm is described as a set of atomic events, with possible data dependencies between them. The task is to find a mapping, assigning a space-time coordinate to each event, so that causality is not violated and the solution is “good”. Previous work in the area, if it provided any formalism at all, has relied mainly on uniform recurrence equations, extensions thereof, or on purely graph-theoretic formulations. In this project algebra is used instead and the close connection with single-assignment languages is stressed. Thus it is possible to generalize previous work and to give simple characterizations of the type of algorithms that can be implemented with space-time mappings. The results presented can be applied to hardware construction and compiler techniques for parallel computers.