Many fundamental combinatorial problems, arising in such diverse fields as artificial intelligence, logic, graph theory, and linear algebra, can be formulated as Boolean constraint satisfaction problems (CSP). This book is devoted to the study of the complexity of such problems. The authors' goal is to develop a framework for classifying the complexity of Boolean CSP in a uniform way. In doing so, they bring out common themes underlying many concepts and results in both algorithms and complexity theory. The results and techniques presented here show that Boolean CSP provide an excellent framework for discovering and formally validating 'global' inferences about the nature of computation. This book presents a novel and compact form of a compendium that classifies an infinite number of problems by using a rule-based approach. This enables practitioners to determine whether or not a given problem is known to be computationally intractable.