This book tackles classic problems from operations research and circuit design using a logic programming language embedding consistency techniques, a paradigm emerging from artificial intelligence research. Van Hentenryck proposes a new approach to solving discrete combinatorial problems using these techniques. Logic programming serves as a convenient language for stating combinatorial problems, but its "generate and test" paradigm leads to inefficient...